[PATCH v3] serial: PL011: clear pending interrupts
From: Chanho Min <hidden>
Date: 2012-03-14 01:47:37
Also in:
linux-serial
From: Chanho Min <hidden>
Date: 2012-03-14 01:47:37
Also in:
linux-serial
On Tue, Mar 13, 2012 at 9:27 PM, Linus Walleij [off-list ref] wrote:
From: Linus Walleij <redacted> Chanho Min reported that when the boot loader transfers control to the kernel, there may be pending interrupts causing the UART to lock up in an eternal loop trying to pick tokens from the FIFO (since the RX interrupt flag indicates there are tokens) while in practice there are no tokens - in fact there is only a pending IRQ flag. This patch address the issue with a combination of two patches suggested by Russell King that clears and mask all interrupts at probe() and clears any pending error and RX interrupts at port startup time. We suspect the spurious interrupts are a side-effect of switching the UART from FIFO to non-FIFO mode.
I've tested this patch, and have confirmed that the issue is resolved on our CA9 platform. In addition, May I ask to change the tag as follows. Reported-by: Chanho Min <chanho.min@lge.com> Reviewed-by: Jong-Sung Kim <redacted> Thanks a lot ! Chanho Min