Messages in this thread | | | Subject | Re: [PATCH 4/5] pci: handled return value of platform_get_irq correctly | From | Marc Gonzalez <> | Date | Thu, 12 Mar 2020 10:53:06 +0100 |
| |
On 11/03/2020 20:19, Aman Sharma wrote:
> diff --git a/drivers/pci/controller/pcie-tango.c b/drivers/pci/controller/pcie-tango.c > index 21a208da3f59..18c2c4313eb5 100644 > --- a/drivers/pci/controller/pcie-tango.c > +++ b/drivers/pci/controller/pcie-tango.c > @@ -273,9 +273,9 @@ static int tango_pcie_probe(struct platform_device *pdev) > writel_relaxed(0, pcie->base + SMP8759_ENABLE + offset); > > virq = platform_get_irq(pdev, 1); > - if (virq <= 0) { > + if (virq < 0) { > dev_err(dev, "Failed to map IRQ\n"); > - return -ENXIO; > + return virq; > } > > irq_dom = irq_domain_create_linear(fwnode, MSI_MAX, &dom_ops, pcie);
Weee, here we go again :-)
https://patchwork.kernel.org/patch/11066455/ https://patchwork.kernel.org/patch/10006651/
Last time around, my understanding was that, going forward, the best solution was:
virq = platform_get_irq(...) if (virq <= 0) return virq ? : -ENODEV;
i.e. map 0 to -ENODEV, pass other errors as-is, remove the dev_err
@Bjorn/Lorenzo did you have a change of heart?
Regards.
| |