X-Git-Url: http://ftp.safe.ca/?a=blobdiff_plain;f=drivers%2Fserial%2F8250.c;h=891e1dd65f244ef20b2cc4f75ba980c939d3078f;hb=8740f71d7f4f0400cd8c42e6584155024119d77e;hp=c3db16b7afa12f6b43e94fe5437bde3ca7aeea4a;hpb=dc77f161aa5e81ddaf38390094c4f2ca3814e6b1;p=safe%2Fjmp%2Flinux-2.6 diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c index c3db16b..891e1dd 100644 --- a/drivers/serial/8250.c +++ b/drivers/serial/8250.c @@ -38,6 +38,7 @@ #include #include #include +#include #include #include @@ -1890,8 +1891,8 @@ static int serial8250_get_poll_char(struct uart_port *port) struct uart_8250_port *up = (struct uart_8250_port *)port; unsigned char lsr = serial_inp(up, UART_LSR); - while (!(lsr & UART_LSR_DR)) - lsr = serial_inp(up, UART_LSR); + if (!(lsr & UART_LSR_DR)) + return NO_POLL_CHAR; return serial_inp(up, UART_RX); }