Re: [External Email] RE: [PATCH v2] serial: sc16is7xx: Extend IRQ check for negative values

From: Jiri Slaby
Date: Sun Jan 19 2025 - 03:01:07 EST


On 18. 01. 25, 18:20, Andre Werner wrote:
Dear Maarten,

-----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

Thanks for the advice. I have not seen this all the time I looked at the
code. I accidentally forget to delete the second '!' as I did with the code
tested at the embedded device. Thanks for the advice.

Should I need to submit this patch again with a Fixup prefix or what needs
to be done?

Resubmit with complete description on what is broken and when. Incl. the Fixes: tag. The comment from Maarten suggests that it is broken in a completely different way than you describe in the commit log.

thanks,
--
js
suse labs