Xilinx: ARM: UART: clear pending irqs before enabling irqs
The Boot ROM has an issue which will cause the driver to lock up as pending irqs are not being cleared. With them cleared it prevents that issue. This patch is needed for the current (3.9-rc3) mainline kernel. I guess it went unnoticed, because it was only tested with u-boot up until now. And u-boot maybe handles this. [s.trumtrar@pengutronix.de: cherry-picked from linux-xlnx.git] Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
9326b047e4
commit
855f6fd941
1 changed files with 2 additions and 0 deletions
|
@ -578,6 +578,8 @@ static int xuartps_startup(struct uart_port *port)
|
|||
/* Receive Timeout register is enabled with value of 10 */
|
||||
xuartps_writel(10, XUARTPS_RXTOUT_OFFSET);
|
||||
|
||||
/* Clear out any pending interrupts before enabling them */
|
||||
xuartps_writel(xuartps_readl(XUARTPS_ISR_OFFSET), XUARTPS_ISR_OFFSET);
|
||||
|
||||
/* Set the Interrupt Registers with desired interrupts */
|
||||
xuartps_writel(XUARTPS_IXR_TXEMPTY | XUARTPS_IXR_PARITY |
|
||||
|
|
Loading…
Reference in a new issue