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