[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <23799bf9-c61b-f528-e0e5-03a96d232ecc@systec-electronic.com>
Date: Sat, 18 Jan 2025 18:20:16 +0100 (CET)
From: Andre Werner <andre.werner@...tec-electronic.com>
To: Maarten Brock <Maarten.Brock@...ls.nl>
cc: Andre Werner <andre.werner@...tec-electronic.com>,
"gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
"jirislaby@...nel.org" <jirislaby@...nel.org>,
"hvilleneuve@...onoff.com" <hvilleneuve@...onoff.com>,
"andy@...nel.org" <andy@...nel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-serial@...r.kernel.org" <linux-serial@...r.kernel.org>,
"lech.perczak@...lingroup.com" <lech.perczak@...lingroup.com>
Subject: Re: [External Email] RE: [PATCH v2] serial: sc16is7xx: Extend IRQ
check for negative values
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@...tec-electronic.com>
> > ---
> > 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?
>
> > if (s->polling)
> > dev_dbg(dev,
> > "No interrupt pin definition, falling back to polling mode\n");
>
> Kind regards,
> Maarten
>
Regards,
André
Powered by blists - more mailing lists