Messages in this thread Patch in this message | | | Date | Mon, 30 Apr 2007 17:06:40 -0500 | From | Corey Minyard <> |
| |
I think I've spotted a bug in the 8250 code, but I'm not really sure. I'm having a hard time understanding why the lsr_break_flag is necessary.
Subject: Serial 8250: clear the lsr_break_flag at open
The lsr_break_flag in the 8250 driver is not cleared when the port is opened. This means that on a serial console, if a break has occurred while the port is closed, the first call to receive_chars() will result in a break being delivered at that point. Clear the flag at open to fix the problem.
Signed-off-by: Corey Minyard <minyard@acm.org>
Index: linux-2.6.21/drivers/serial/8250.c =================================================================== --- linux-2.6.21.orig/drivers/serial/8250.c +++ linux-2.6.21/drivers/serial/8250.c @@ -1638,6 +1638,7 @@ static int serial8250_startup(struct uar up->capabilities = uart_config[up->port.type].flags; up->mcr = 0; + up->lsr_break_flag = 0; if (up->port.type == PORT_16C950) { /* Wake up and initialize UART */ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |