On Mon, 20 Jan 2025 08:32:34 +0100 Andre Werner <andre.werner@xxxxxxxxxxxxxxxxxxxxx> wrote: Hi, > The logical meaning of the previous version is wrong due to a typo. Ok. > The rest of the patch expects polling = true for irq = 0; > > The behaviour is fixed for irq = 0 as well as extended to negative What do you mean by "is fixed"? and also isnt it the same explanation as above for the "=0" case ("The rest of the patch..."? > values because the irq parameter is an integer such that negative values > are not completely impossible. So negative values will also be treated as > a fallback to polling mode. Please try to rephrase the whole commit message so that it is more concise and clearer to understand, and takes into account the previous comments from Andy/Jiri/Marteen? If I understood these comments correctly, maybe something like: ------ When IRQ = 0, this means that no interrupt is used, and activate polling mode. And since documentation still says that negative IRQ values cannot be absolutely ruled-out, add a check for negative IRQ values to increase robustness. ------ Hugo > > Fixes: 104c1b9dde9d859dd01bd2d ("serial: sc16is7xx: Add polling mode if no IRQ pin is available") > > Signed-off-by: Andre Werner <andre.werner@xxxxxxxxxxxxxxxxxxxxx> > --- > V2: > There are no changes to the patch itself. The previous patch submission > had a very weird structure within the discussion thread: > https://lore.kernel.org/all/20250116093203.460215-1-andre.werner@xxxxxxxxxxxxxxxxxxxxx/ > This is simply a new thread opened for better handling. > V3: > Add Fixes tag and update commit message description. > --- > drivers/tty/serial/sc16is7xx.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > 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); > if (s->polling) > dev_dbg(dev, > "No interrupt pin definition, falling back to polling mode\n"); > -- > 2.48.0 > > >