The pl010 primecell documentation specifies that an error indicated via
RSR should be cleared by a write to ECR. We didn't do this, which was
causing errors to be re-reported on every call to pl010_rx_chars().
Doing a write to ECR once we detect an error appears to prevent the
ep93xx console UART driver from going into a mode where it reports
"ttyAM0: X input overrun(s)" every couple of keystrokes.
Signed-off-by: Lennert Buytenhek <[email protected]>
Index: linux-2.6.19-rc5/drivers/serial/amba-pl010.c
===================================================================
--- linux-2.6.19-rc5.orig/drivers/serial/amba-pl010.c
+++ linux-2.6.19-rc5/drivers/serial/amba-pl010.c
@@ -129,6 +129,8 @@ static void pl010_rx_chars(struct uart_p
*/
rsr = readb(port->membase + UART01x_RSR) | UART_DUMMY_RSR_RX;
if (unlikely(rsr & UART01x_RSR_ANY)) {
+ writel(0, port->membase + UART01x_ECR);
+
if (rsr & UART01x_RSR_BE) {
rsr &= ~(UART01x_RSR_FE | UART01x_RSR_PE);
port->icount.brk++;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]