From: Timur Tabi Date: Wed, 7 Oct 2015 20:27:16 +0000 (-0500) Subject: serial: amba-pl011: fix incorrect integer size in pl011_fifo_to_tty() X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=71a5cd8a4a2602a6e9010b557a23af0a54df87b6;p=linux-beck.git serial: amba-pl011: fix incorrect integer size in pl011_fifo_to_tty() 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 Reviewed-by: Dave Martin Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c index fd27e986b1dd..899a77187bde 100644 --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c @@ -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--) {