> -----Original Message----- > Fix the IRQ check to treat the negative values as No IRQ. It seems to me that this is a real fix and needs a Fixes tag. See below. > Signed-off-by: Andre Werner <andre.werner@xxxxxxxxxxxxxxxxxxxxx> > --- > diff --git a/drivers/tty/serial/sc16is7xx.c b/drivers/tty/serial/sc16is7xx.c > index 7b51cdc274fd..560f45ed19ae 100644 > --- a/drivers/tty/serial/sc16is7xx.c > +++ b/drivers/tty/serial/sc16is7xx.c > @@ -1561,7 +1561,7 @@ int sc16is7xx_probe(struct device *dev, const struct > sc16is7xx_devtype *devtype, > /* Always ask for fixed clock rate from a property. */ > device_property_read_u32(dev, "clock-frequency", &uartclk); > > - s->polling = !!irq; > + s->polling = (irq <= 0); When irq>=0 these two lines above have a different outcome! irq==0 => !!irq==false <=> (irq<=0)==true irq==1 => !!irq==true <=> (irq<=0)==false > if (s->polling) > dev_dbg(dev, > "No interrupt pin definition, falling back to polling mode\n"); Kind regards, Maarten