2024-04-24 11:43:02

by Dan Carpenter

[permalink] [raw]
Subject: [PATCH] spmi: pmic-arb: Fix of_irq_get_byname() error checking

There are two bugs in this code:
1) The "irq" variable needs to be signed for the error handling to
work.
2) The of_irq_get_byname() also returns zero on error so change the
comparison from < 0 to <= 0.

Fixes: 932282f154ac ("spmi: pmic-arb: Register controller for bus instead of arbiter")
Signed-off-by: Dan Carpenter <[email protected]>
---
drivers/spmi/spmi-pmic-arb.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/spmi/spmi-pmic-arb.c b/drivers/spmi/spmi-pmic-arb.c
index 0a17ff02c827..791cdc160c51 100644
--- a/drivers/spmi/spmi-pmic-arb.c
+++ b/drivers/spmi/spmi-pmic-arb.c
@@ -1672,7 +1672,7 @@ static int spmi_pmic_arb_bus_init(struct platform_device *pdev,
void __iomem *intr;
void __iomem *cnfg;
int index, ret;
- u32 irq;
+ int irq;

ctrl = devm_spmi_controller_alloc(dev, sizeof(*bus));
if (IS_ERR(ctrl))
@@ -1721,8 +1721,8 @@ static int spmi_pmic_arb_bus_init(struct platform_device *pdev,
return PTR_ERR(intr);

irq = of_irq_get_byname(node, "periph_irq");
- if (irq < 0)
- return irq;
+ if (irq <= 0)
+ return irq ?: -ENXIO;

bus->pmic_arb = pmic_arb;
bus->intr = intr;
--
2.43.0



2024-05-02 00:55:14

by Stephen Boyd

[permalink] [raw]
Subject: Re: [PATCH] spmi: pmic-arb: Fix of_irq_get_byname() error checking

Quoting Dan Carpenter (2024-04-24 04:42:46)
> There are two bugs in this code:
> 1) The "irq" variable needs to be signed for the error handling to
> work.
> 2) The of_irq_get_byname() also returns zero on error so change the
> comparison from < 0 to <= 0.
>
> Fixes: 932282f154ac ("spmi: pmic-arb: Register controller for bus instead of arbiter")

Sadly this isn't stable because I just send patches over email.

> Signed-off-by: Dan Carpenter <[email protected]>
> ---

Applied to spmi-next

2024-05-02 07:08:58

by Dan Carpenter

[permalink] [raw]
Subject: Re: [PATCH] spmi: pmic-arb: Fix of_irq_get_byname() error checking

On Wed, May 01, 2024 at 05:55:03PM -0700, Stephen Boyd wrote:
> Quoting Dan Carpenter (2024-04-24 04:42:46)
> > There are two bugs in this code:
> > 1) The "irq" variable needs to be signed for the error handling to
> > work.
> > 2) The of_irq_get_byname() also returns zero on error so change the
> > comparison from < 0 to <= 0.
> >
> > Fixes: 932282f154ac ("spmi: pmic-arb: Register controller for bus instead of arbiter")
>
> Sadly this isn't stable because I just send patches over email.
>

If you're going to send these as email then you should fold it into the
original commit or otherwise people will be confused.

> > Signed-off-by: Dan Carpenter <[email protected]>
> > ---
>
> Applied to spmi-next

Thanks!

regards,
dan carpenter


2024-05-02 22:24:43

by Stephen Boyd

[permalink] [raw]
Subject: Re: [PATCH] spmi: pmic-arb: Fix of_irq_get_byname() error checking

Quoting Dan Carpenter (2024-05-02 00:08:29)
> On Wed, May 01, 2024 at 05:55:03PM -0700, Stephen Boyd wrote:
> > Quoting Dan Carpenter (2024-04-24 04:42:46)
> > > There are two bugs in this code:
> > > 1) The "irq" variable needs to be signed for the error handling to
> > > work.
> > > 2) The of_irq_get_byname() also returns zero on error so change the
> > > comparison from < 0 to <= 0.
> > >
> > > Fixes: 932282f154ac ("spmi: pmic-arb: Register controller for bus instead of arbiter")
> >
> > Sadly this isn't stable because I just send patches over email.
> >
>
> If you're going to send these as email then you should fold it into the
> original commit or otherwise people will be confused.

I removed the fixes tag. I will fold it in with your SoB, thanks!