sh,sh-sci: Use NO_POLL_CHAR in the SCIF polled console code
authorJason Wessel <jason.wessel@windriver.com>
Fri, 21 May 2010 02:04:23 +0000 (21:04 -0500)
committerJason Wessel <jason.wessel@windriver.com>
Fri, 21 May 2010 02:04:23 +0000 (21:04 -0500)
The sci_poll_get_char() needs to return immediately if there is no
input from the chip to process, and must return a value of
NO_POLL_CHAR.

This allows kgdboc to process multiple polled devices while kgdb is
active.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Acked-by: Paul Mundt <lethal@linux-sh.org>
drivers/serial/sh-sci.c

index 8d993c4cceac6e92d8aed9a465e956a1139ae3ba..f250a610a26842d236f95342487cb1487e03a7ae 100644 (file)
@@ -151,7 +151,11 @@ static int sci_poll_get_char(struct uart_port *port)
                        handle_error(port);
                        continue;
                }
-       } while (!(status & SCxSR_RDxF(port)));
+               break;
+       } while (1);
+
+       if (!(status & SCxSR_RDxF(port)))
+               return NO_POLL_CHAR;
 
        c = sci_in(port, SCxRDR);