RE: [PATCH] serial: PL011: clear pending interrupts
From: Kim, Jong-Sung <hidden>
Date: 2012-03-12 11:22:07
Also in:
linux-arm-kernel
From: Kim, Jong-Sung <hidden>
Date: 2012-03-12 11:22:07
Also in:
linux-arm-kernel
quoted
diff --git a/drivers/tty/serial/amba-pl011.cb/drivers/tty/serial/amba-pl011.c index 6800f5f..ff3fed0 100644--- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c@@ -224,6 +224,11 @@ static int pl011_fifo_to_tty(struct uart_amba_port*uap)quoted
uart_insert_char(&uap->port, ch, UART011_DR_OE, ch, flag); }What if we really do end up receiving some characters here?
Maybe the character is handled on next upcoming RTIS or RXIS in normal. However, I agree with you there is possibility of already asserted RXIS at this point. (with debugger?) In such a case, we may lose Rx interrupts forever because it's not level-triggered, and the ISR lacks error interrupt handling. Correct me if something wrong. Thank you for your comment, Russell.
quoted
+ /* RXIS but RXFE? Just clear the interrupt */ + if(unlikely(fifotaken == 0)) + writew(UART011_RTIS | UART011_RXIS, + uap->port.membase + UART011_ICR);