aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/tty/serial/clps711x.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/tty/serial/clps711x.c')
-rw-r--r--drivers/tty/serial/clps711x.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/drivers/tty/serial/clps711x.c b/drivers/tty/serial/clps711x.c
index 3fd2526d121e..bfb17968c8db 100644
--- a/drivers/tty/serial/clps711x.c
+++ b/drivers/tty/serial/clps711x.c
@@ -85,12 +85,8 @@ static void uart_clps711x_enable_ms(struct uart_port *port)
85static irqreturn_t uart_clps711x_int_rx(int irq, void *dev_id) 85static irqreturn_t uart_clps711x_int_rx(int irq, void *dev_id)
86{ 86{
87 struct uart_port *port = dev_id; 87 struct uart_port *port = dev_id;
88 struct tty_struct *tty = tty_port_tty_get(&port->state->port);
89 unsigned int status, ch, flg; 88 unsigned int status, ch, flg;
90 89
91 if (!tty)
92 return IRQ_HANDLED;
93
94 for (;;) { 90 for (;;) {
95 status = clps_readl(SYSFLG(port)); 91 status = clps_readl(SYSFLG(port));
96 if (status & SYSFLG_URXFE) 92 if (status & SYSFLG_URXFE)
@@ -130,9 +126,7 @@ static irqreturn_t uart_clps711x_int_rx(int irq, void *dev_id)
130 uart_insert_char(port, status, UARTDR_OVERR, ch, flg); 126 uart_insert_char(port, status, UARTDR_OVERR, ch, flg);
131 } 127 }
132 128
133 tty_flip_buffer_push(tty); 129 tty_flip_buffer_push(&port->state->port);
134
135 tty_kref_put(tty);
136 130
137 return IRQ_HANDLED; 131 return IRQ_HANDLED;
138} 132}