[PATCH v4] serial: sc16is7xx: Fix IRQ number check behavior

Andre Werner posted 1 patch 11 months ago
drivers/tty/serial/sc16is7xx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH v4] serial: sc16is7xx: Fix IRQ number check behavior
Posted by Andre Werner 11 months ago
The logical meaning of the previous version is wrong due to a typo.

If the IRQ equals 0, no interrupt pin is available and polling mode
shall be used.

Additionally, this fix adds a check for IRQ < 0 to increase robustness,
because documentation still says that negative IRQ values cannot be
absolutely ruled-out.

Fixes: 104c1b9dde9d859dd01bd2d ("serial: sc16is7xx: Add polling mode if no IRQ pin is available")

Signed-off-by: Andre Werner <andre.werner@systec-electronic.com>
---
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@systec-electronic.com/
This is simply a new thread opened for better handling.
V3:
Add Fixes tag and update commit message description.
V4:
Rephrase commit message.
---
 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
Re: [PATCH v4] serial: sc16is7xx: Fix IRQ number check behavior
Posted by Greg KH 10 months, 2 weeks ago
On Tue, Jan 21, 2025 at 08:18:19AM +0100, Andre Werner wrote:
> The logical meaning of the previous version is wrong due to a typo.
> 
> If the IRQ equals 0, no interrupt pin is available and polling mode
> shall be used.
> 
> Additionally, this fix adds a check for IRQ < 0 to increase robustness,
> because documentation still says that negative IRQ values cannot be
> absolutely ruled-out.
> 
> Fixes: 104c1b9dde9d859dd01bd2d ("serial: sc16is7xx: Add polling mode if no IRQ pin is available")

Nit, this should be:
	Fixes: 104c1b9dde9d ("serial: sc16is7xx: Add polling mode if no IRQ pin is available")

I'll go fix up the fixes line...

thanks,

greg k-h
Re: [PATCH v4] serial: sc16is7xx: Fix IRQ number check behavior
Posted by Andy Shevchenko 11 months ago
On Tue, Jan 21, 2025 at 08:18:19AM +0100, Andre Werner wrote:
> The logical meaning of the previous version is wrong due to a typo.
> 
> If the IRQ equals 0, no interrupt pin is available and polling mode
> shall be used.
> 
> Additionally, this fix adds a check for IRQ < 0 to increase robustness,
> because documentation still says that negative IRQ values cannot be
> absolutely ruled-out.
> 
> Fixes: 104c1b9dde9d859dd01bd2d ("serial: sc16is7xx: Add polling mode if no IRQ pin is available")

> 

This blank line is redundant (should not exists in the tag block).
Otherwise LGTM, thanks for pursuing this!
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

-- 
With Best Regards,
Andy Shevchenko
Re: [PATCH v4] serial: sc16is7xx: Fix IRQ number check behavior
Posted by Hugo Villeneuve 11 months ago
On Tue, 21 Jan 2025 15:33:30 +0200
Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:

> On Tue, Jan 21, 2025 at 08:18:19AM +0100, Andre Werner wrote:
> > The logical meaning of the previous version is wrong due to a typo.
> > 
> > If the IRQ equals 0, no interrupt pin is available and polling mode
> > shall be used.
> > 
> > Additionally, this fix adds a check for IRQ < 0 to increase robustness,
> > because documentation still says that negative IRQ values cannot be
> > absolutely ruled-out.
> > 
> > Fixes: 104c1b9dde9d859dd01bd2d ("serial: sc16is7xx: Add polling mode if no IRQ pin is available")
> 
> > 
> 
> This blank line is redundant (should not exists in the tag block).
> Otherwise LGTM, thanks for pursuing this!
> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Reviewed-by: Hugo Villeneuve <hvilleneuve@dimonoff.com>

-- 
Hugo Villeneuve
RE: [PATCH v4] serial: sc16is7xx: Fix IRQ number check behavior
Posted by Maarten Brock 11 months ago
> From: Andre Werner <andre.werner@systec-electronic.com>
> 
> The logical meaning of the previous version is wrong due to a typo.
> 
> If the IRQ equals 0, no interrupt pin is available and polling mode
> shall be used.
> 
> Additionally, this fix adds a check for IRQ < 0 to increase robustness,
> because documentation still says that negative IRQ values cannot be
> absolutely ruled-out.
> 
> Fixes: 104c1b9dde9d859dd01bd2d ("serial: sc16is7xx: Add polling mode if no IRQ
> pin is available")
> 
> Signed-off-by: Andre Werner <andre.werner@systec-electronic.com>

Reviewed-by: Maarten Brock <maarten.brock@sttls.nl>

Maarten
Re: [PATCH v4] serial: sc16is7xx: Fix IRQ number check behavior
Posted by Jiri Slaby 11 months ago
On 21. 01. 25, 8:18, Andre Werner wrote:
> The logical meaning of the previous version is wrong due to a typo.
> 
> If the IRQ equals 0, no interrupt pin is available and polling mode
> shall be used.
> 
> Additionally, this fix adds a check for IRQ < 0 to increase robustness,
> because documentation still says that negative IRQ values cannot be
> absolutely ruled-out.
> 
> Fixes: 104c1b9dde9d859dd01bd2d ("serial: sc16is7xx: Add polling mode if no IRQ pin is available")
> 
> Signed-off-by: Andre Werner <andre.werner@systec-electronic.com>

Reviewed-by: Jiri Slaby <jirislaby@kernel.org>

-- 
js
suse labs