serial: amba-pl011: fix incorrect integer size in pl011_fifo_to_tty()
authorTimur Tabi <timur@codeaurora.org>
Wed, 7 Oct 2015 20:27:16 +0000 (15:27 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 18 Oct 2015 04:29:21 +0000 (21:29 -0700)
The UART_DUMMY_DR_RX status bit is equal to (1 << 16), so a u16 is too small
to hold that value.  The result is that UART_DUMMY_DR_RX is never passed
to uart_insert_char().  This means that we're always accepting characters,
even when CREAD (in termios) is not set.

Signed-off-by: Timur Tabi <timur@codeaurora.org>
Reviewed-by: Dave Martin <Dave.Martin@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/amba-pl011.c

index fd27e986b1dd3437dfd2560ec11efd8def7bf254..899a77187bdead871b2e1f22ed4f320486e5288b 100644 (file)
@@ -191,8 +191,8 @@ struct uart_amba_port {
  */
 static int pl011_fifo_to_tty(struct uart_amba_port *uap)
 {
-       u16 status, ch;
-       unsigned int flag, max_count = 256;
+       u16 status;
+       unsigned int ch, flag, max_count = 256;
        int fifotaken = 0;
 
        while (max_count--) {