Hi Noam, On 07/22/2015 05:34 AM, Noam Camus wrote: > From: Noam Camus <noamc@xxxxxxxxxx> > > Always add UPF_FIXED_TYPE to flags so autoconf() will be skipped. > We do that since autoconf() performs many writes to LCR that cause > BUSY interrupt. > The problem with such interrupt is that driver is not yet called to > request_irq() and generic IRQ subsystem will mask the UART line. > > Signed-off-by: Noam Camus <noamc@xxxxxxxxxx> > --- > drivers/tty/serial/8250/8250_dw.c | 8 ++++++++ > 1 files changed, 8 insertions(+), 0 deletions(-) > > diff --git a/drivers/tty/serial/8250/8250_dw.c b/drivers/tty/serial/8250/8250_dw.c > index 1a57105..620f983 100644 > --- a/drivers/tty/serial/8250/8250_dw.c > +++ b/drivers/tty/serial/8250/8250_dw.c > @@ -362,6 +362,14 @@ static int dw8250_probe_of(struct uart_port *p, > if (has_ucv) > dw8250_setup_port(up); > > + /* Writing to LCR may cause BUSY interrupt before we > + * register the IRQ line. > + * Currently autoconf() uses several writes to LCR. > + * In order to avoid calling to autoconf() always add > + * following flag. > + */ > + p->flags |= UPF_FIXED_TYPE; Why only for devicetree DW8250's? Don't all DW8250's have this LCR "feature"? And what port type does this id DW8250's as, PORT_8250? Except with fifos, autoflow control, dma, etc.? If the port type is being fixed, then please fix it to a new port type. > + > /* if we have a valid fifosize, try hooking up DMA here */ > if (p->fifosize) { > up->dma = &data->dma; > -- 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