diff options
-rw-r--r-- | drivers/serial/amba-pl010.c | 3 | ||||
-rw-r--r-- | drivers/serial/amba-pl011.c | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/drivers/serial/amba-pl010.c b/drivers/serial/amba-pl010.c index 1a9a24b82636..00d1255e4c12 100644 --- a/drivers/serial/amba-pl010.c +++ b/drivers/serial/amba-pl010.c | |||
@@ -167,8 +167,9 @@ static void pl010_rx_chars(struct uart_amba_port *uap) | |||
167 | ignore_char: | 167 | ignore_char: |
168 | status = readb(uap->port.membase + UART01x_FR); | 168 | status = readb(uap->port.membase + UART01x_FR); |
169 | } | 169 | } |
170 | spin_unlock(&port->lock); | ||
170 | tty_flip_buffer_push(tty); | 171 | tty_flip_buffer_push(tty); |
171 | return; | 172 | spin_lock(&port->lock); |
172 | } | 173 | } |
173 | 174 | ||
174 | static void pl010_tx_chars(struct uart_amba_port *uap) | 175 | static void pl010_tx_chars(struct uart_amba_port *uap) |
diff --git a/drivers/serial/amba-pl011.c b/drivers/serial/amba-pl011.c index 44639e71372a..954073c6ce3a 100644 --- a/drivers/serial/amba-pl011.c +++ b/drivers/serial/amba-pl011.c | |||
@@ -153,8 +153,9 @@ static void pl011_rx_chars(struct uart_amba_port *uap) | |||
153 | ignore_char: | 153 | ignore_char: |
154 | status = readw(uap->port.membase + UART01x_FR); | 154 | status = readw(uap->port.membase + UART01x_FR); |
155 | } | 155 | } |
156 | spin_unlock(&uap->port.lock); | ||
156 | tty_flip_buffer_push(tty); | 157 | tty_flip_buffer_push(tty); |
157 | return; | 158 | spin_lock(&uap->port.lock); |
158 | } | 159 | } |
159 | 160 | ||
160 | static void pl011_tx_chars(struct uart_amba_port *uap) | 161 | static void pl011_tx_chars(struct uart_amba_port *uap) |