Skip to contentSkip to conversation

serial: imx: reduce irq-latency after rx overflow

PATCH New [email protected] 1 participant 1 message Jun 20, 2015

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 serial: imx: reduce irq-latency after rx overflow

To prevent problems with interrupt latency, and due to the fact, that the error will be counted anyway (icount.overrun), the dev_err is simply removed.

Background:
If an rx-fifo overflow occurs a dev_err message was called in interrupt context. Since dev_err messages are written to console in a synchronous way (unbuffered), and console may be a serial terminal, this leads to a highly increased interrupt-latency (several milliseconds).
As a result of the high latency more rx-fifo overflows will happen, and therefore a feedback loop of errors is created.

---
 drivers/tty/serial/imx.c |    1 -
 1 file changed, 1 deletion(-)
drivers/tty/serial/imx.c +0 -1
index 384cf1d..40fd32c 100644
@@ -767,7 +767,6 @@ static irqreturn_t imx_int(int irq, void *dev_id)
 		writel(USR1_AWAKE, sport->port.membase + USR1);
  	if (sts2 & USR2_ORE) {
-		dev_err(sport->port.dev, "Rx FIFO overrun\n");
 		sport->port.icount.overrun++;
 		writel(USR2_ORE, sport->port.membase + USR2);
 	}
Signature · 1 line
1.7.10.4