aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/serial
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2010-12-22 12:09:08 -0500
committerRussell King <rmk+kernel@arm.linux.org.uk>2011-01-05 11:58:42 -0500
commit5063e2c567ee569cccfc01ebf80c898cb4e6833a (patch)
tree4468b5aa67354b8393a0980fc9dda12a226e5fd3 /drivers/serial
parente8a7ba86ff993311f8712e5b3bb2e3892e82df5f (diff)
ARM: PL011: Ensure error flags are clear at startup
The error flags weren't being cleared upon UART startup, which can cause problems when we add DMA support. It's good practice to ensure that these flags are cleared anyway, so let's do so. This was part of a larger patch from Linus Walleij. Acked-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'drivers/serial')
-rw-r--r--drivers/serial/amba-pl011.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/serial/amba-pl011.c b/drivers/serial/amba-pl011.c
index 2c07939be02c..c77b3eb5142d 100644
--- a/drivers/serial/amba-pl011.c
+++ b/drivers/serial/amba-pl011.c
@@ -424,6 +424,10 @@ static int pl011_startup(struct uart_port *port)
424 cr = UART01x_CR_UARTEN | UART011_CR_RXE | UART011_CR_TXE; 424 cr = UART01x_CR_UARTEN | UART011_CR_RXE | UART011_CR_TXE;
425 writew(cr, uap->port.membase + UART011_CR); 425 writew(cr, uap->port.membase + UART011_CR);
426 426
427 /* Clear pending error interrupts */
428 writew(UART011_OEIS | UART011_BEIS | UART011_PEIS | UART011_FEIS,
429 uap->port.membase + UART011_ICR);
430
427 /* 431 /*
428 * initialise the old status of the modem signals 432 * initialise the old status of the modem signals
429 */ 433 */