From f5fd9501ef95a1cd045a69b400c07a52a68edcdb Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Fri, 25 Jan 2013 15:05:30 +0000 Subject: [PATCH] --- yaml --- r: 354833 b: refs/heads/master c: ebcf09816c68d1082aec5a2646e9f20715384502 h: refs/heads/master i: 354831: 3577fa73d72d932e36c269d9410fb4e4174674a4 v: v3 --- [refs] | 2 +- trunk/drivers/tty/goldfish.c | 19 +++++++------------ 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/[refs] b/[refs] index e30be53c75c3..300327581380 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: eb51d917a7e6b7d5ce1a58941f4a5840ac06553a +refs/heads/master: ebcf09816c68d1082aec5a2646e9f20715384502 diff --git a/trunk/drivers/tty/goldfish.c b/trunk/drivers/tty/goldfish.c index e2ccb6daa6c5..f17d2e4ee2ca 100644 --- a/trunk/drivers/tty/goldfish.c +++ b/trunk/drivers/tty/goldfish.c @@ -72,23 +72,18 @@ static irqreturn_t goldfish_tty_interrupt(int irq, void *dev_id) unsigned long irq_flags; unsigned char *buf; u32 count; - struct tty_struct *tty; count = readl(base + GOLDFISH_TTY_BYTES_READY); if(count == 0) return IRQ_NONE; - tty = tty_port_tty_get(&qtty->port); - if (tty) { - count = tty_prepare_flip_string(tty, &buf, count); - spin_lock_irqsave(&qtty->lock, irq_flags); - writel((u32)buf, base + GOLDFISH_TTY_DATA_PTR); - writel(count, base + GOLDFISH_TTY_DATA_LEN); - writel(GOLDFISH_TTY_CMD_READ_BUFFER, base + GOLDFISH_TTY_CMD); - spin_unlock_irqrestore(&qtty->lock, irq_flags); - tty_schedule_flip(tty); - tty_kref_put(tty); - } + count = tty_prepare_flip_string(&qtty->port, &buf, count); + spin_lock_irqsave(&qtty->lock, irq_flags); + writel((u32)buf, base + GOLDFISH_TTY_DATA_PTR); + writel(count, base + GOLDFISH_TTY_DATA_LEN); + writel(GOLDFISH_TTY_CMD_READ_BUFFER, base + GOLDFISH_TTY_CMD); + spin_unlock_irqrestore(&qtty->lock, irq_flags); + tty_schedule_flip(&qtty->port); return IRQ_HANDLED; }