Hello Lucas, On Thu, Aug 11, 2016 at 11:23:28AM +0200, Lucas Stach wrote: > The driver doesn't handle this interrupt, so it should be disabled > to avoid IRQ storms. This IRQ is only available if the UART is in > DTE mode. > > Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> > --- > drivers/tty/serial/imx.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c > index 0df2b1c091ae..9d2280a75e00 100644 > --- a/drivers/tty/serial/imx.c > +++ b/drivers/tty/serial/imx.c > @@ -2085,6 +2085,11 @@ static int serial_imx_probe(struct platform_device *pdev) > reg &= ~(UCR1_ADEN | UCR1_TRDYEN | UCR1_IDEN | UCR1_RRDYEN | > UCR1_TXMPTYEN | UCR1_RTSDEN); > writel_relaxed(reg, sport->port.membase + UCR1); > + if (sport->dte_mode) { > + reg = readl_relaxed(sport->port.membase + UCR3); > + reg &= ~UCR3_RI; > + writel_relaxed(reg, sport->port.membase + UCR3); > + } imx_startup already has if (!is_imx1_uart(sport)) { temp = readl(sport->port.membase + UCR3); /* * The effect of RI and DCD differs depending on the UFCR_DCEDTE * bit. In DCE mode they control the outputs, in DTE mode they * enable the respective irqs. At least the DCD irq cannot be * cleared on i.MX25 at least, so it's not usable and must be * disabled. I don't have test hardware to check if RI has the * same problem but I consider this likely so it's disabled for * now, too. */ temp |= IMX21_UCR3_RXDMUXSEL | UCR3_ADNIMP | UCR3_DTRDEN | UCR3_RI | UCR3_DCD; if (sport->dte_mode) temp &= ~(UCR3_RI | UCR3_DCD); writel(temp, sport->port.membase + UCR3); } which looks very similar. I assume this is just too late? Can you comment the comment? I.e. is it possible to handle RI? Can you rework your patch to not have to places that handle unsetting UCR3_RI? Which platform are you working with? Note that the existing handling is more correct in regard to i.MX1 which doesn't have that UCR3_RI bit. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | http://www.pengutronix.de/ | -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html