diff options
author | Simon Glass <sjg@chromium.org> | 2014-10-23 03:37:03 (GMT) |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2014-10-24 01:29:07 (GMT) |
commit | aea2be2012f474ddc9f372547e487ee74d4eb67a (patch) | |
tree | 948ef04a8c5185c57554d14dc076856e001b9b14 | |
parent | c487fd476c8779dbd6ee1427489f1312b34bfc5e (diff) | |
download | u-boot-fsl-qoriq-aea2be2012f474ddc9f372547e487ee74d4eb67a.tar.xz |
dm: serial: ns16550: Correct logic for checking for character
There is a bug in the logic which checks for an available character. This
can cause invalid characters to be received - this was noticed on
beaglebone. Fix it.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@ti.com>
-rw-r--r-- | drivers/serial/ns16550.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c index 63a9ef6..fe6cc26 100644 --- a/drivers/serial/ns16550.c +++ b/drivers/serial/ns16550.c @@ -253,7 +253,7 @@ static int ns16550_serial_getc(struct udevice *dev) { struct NS16550 *const com_port = dev_get_priv(dev); - if (!serial_in(&com_port->lsr) & UART_LSR_DR) + if (!(serial_in(&com_port->lsr) & UART_LSR_DR)) return -EAGAIN; return serial_in(&com_port->rbr); |