aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/tty/serial/bfin_uart.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/tty/serial/bfin_uart.c')
-rw-r--r--drivers/tty/serial/bfin_uart.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/drivers/tty/serial/bfin_uart.c b/drivers/tty/serial/bfin_uart.c
index dec0fd725d80..7da9911e95f0 100644
--- a/drivers/tty/serial/bfin_uart.c
+++ b/drivers/tty/serial/bfin_uart.c
@@ -108,22 +108,23 @@ static void bfin_serial_set_mctrl(struct uart_port *port, unsigned int mctrl)
108static irqreturn_t bfin_serial_mctrl_cts_int(int irq, void *dev_id) 108static irqreturn_t bfin_serial_mctrl_cts_int(int irq, void *dev_id)
109{ 109{
110 struct bfin_serial_port *uart = dev_id; 110 struct bfin_serial_port *uart = dev_id;
111 unsigned int status = bfin_serial_get_mctrl(&uart->port); 111 struct uart_port *uport = &uart->port;
112 unsigned int status = bfin_serial_get_mctrl(uport);
112#ifdef CONFIG_SERIAL_BFIN_HARD_CTSRTS 113#ifdef CONFIG_SERIAL_BFIN_HARD_CTSRTS
113 struct tty_struct *tty = uart->port.state->port.tty;
114 114
115 UART_CLEAR_SCTS(uart); 115 UART_CLEAR_SCTS(uart);
116 if (tty->hw_stopped) { 116 if (uport->hw_stopped) {
117 if (status) { 117 if (status) {
118 tty->hw_stopped = 0; 118 uport->hw_stopped = 0;
119 uart_write_wakeup(&uart->port); 119 uart_write_wakeup(uport);
120 } 120 }
121 } else { 121 } else {
122 if (!status) 122 if (!status)
123 tty->hw_stopped = 1; 123 uport->hw_stopped = 1;
124 } 124 }
125#else
126 uart_handle_cts_change(uport, status & TIOCM_CTS);
125#endif 127#endif
126 uart_handle_cts_change(&uart->port, status & TIOCM_CTS);
127 128
128 return IRQ_HANDLED; 129 return IRQ_HANDLED;
129} 130}