mirror of
https://github.com/genesi/linux-legacy.git
synced 2026-07-08 17:56:11 +00:00
ENGR000122300 fix iMX23 auart output wrong error message
AUART should not output error when modem status interrupt pending, hardware does not support DSRMIS,DCDMIS and RIMIS bit. Signed-off-by: Frank Li <Frank.Li@freescale.com>
This commit is contained in:
@@ -565,9 +565,33 @@ static irqreturn_t mxs_auart_irq_handle(int irq, void *context)
|
||||
mxs_auart_tx_chars(s);
|
||||
istat &= ~BM_UARTAPP_INTR_TXIS;
|
||||
}
|
||||
if (istat & 0xFFFF)
|
||||
/* modem status interrupt bits are undefined
|
||||
after reset,and the hardware do not support
|
||||
DSRMIS,DCDMIS and RIMIS bit,so we should ingore
|
||||
them when they are pending. */
|
||||
if (istat & (BM_UARTAPP_INTR_ABDIS
|
||||
| BM_UARTAPP_INTR_OEIS
|
||||
| BM_UARTAPP_INTR_BEIS
|
||||
| BM_UARTAPP_INTR_PEIS
|
||||
| BM_UARTAPP_INTR_FEIS
|
||||
| BM_UARTAPP_INTR_RTIS
|
||||
| BM_UARTAPP_INTR_TXIS
|
||||
| BM_UARTAPP_INTR_RXIS
|
||||
| BM_UARTAPP_INTR_CTSMIS)) {
|
||||
dev_info(s->dev, "Unhandled status %x\n", istat);
|
||||
__raw_writel(istatus & 0xFFFF,
|
||||
}
|
||||
__raw_writel(istatus & (BM_UARTAPP_INTR_ABDIS
|
||||
| BM_UARTAPP_INTR_OEIS
|
||||
| BM_UARTAPP_INTR_BEIS
|
||||
| BM_UARTAPP_INTR_PEIS
|
||||
| BM_UARTAPP_INTR_FEIS
|
||||
| BM_UARTAPP_INTR_RTIS
|
||||
| BM_UARTAPP_INTR_TXIS
|
||||
| BM_UARTAPP_INTR_RXIS
|
||||
| BM_UARTAPP_INTR_DSRMIS
|
||||
| BM_UARTAPP_INTR_DCDMIS
|
||||
| BM_UARTAPP_INTR_CTSMIS
|
||||
| BM_UARTAPP_INTR_RIMIS),
|
||||
s->port.membase + HW_UARTAPP_INTR_CLR);
|
||||
|
||||
return IRQ_HANDLED;
|
||||
|
||||
Reference in New Issue
Block a user