summaryrefslogtreecommitdiffstats
path: root/drivers/pci/controller/pcie-tango.c
diff options
context:
space:
mode:
authorAman Sharma <amanharitsh123@gmail.com>2020-03-12 00:49:02 +0530
committerBjorn Helgaas <bhelgaas@google.com>2020-05-12 08:14:43 -0500
commit0584bff09629666eea97c7ac428e55b00df211f5 (patch)
tree0f1ffb119ca31d5fbb5b996a976eafaa120b98c7 /drivers/pci/controller/pcie-tango.c
parenta85a6c86c25be2d2a5f9c31491f612ce0edc7869 (diff)
downloadlinux-0584bff09629666eea97c7ac428e55b00df211f5.tar.bz2
PCI: Check for platform_get_irq() failure consistently
The platform_get_irq*() interfaces return either a negative error number or a valid IRQ. 0 is not a valid return value, so check for "< 0" to detect failure as recommended by the function documentation. On failure, return the error number from platform_get_irq*() instead of making up a new one. Link: https://lore.kernel.org/r/cover.1583952275.git.amanharitsh123@gmail.com [bhelgaas: commit log, squash into one patch] Signed-off-by: Aman Sharma <amanharitsh123@gmail.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Cc: Richard Zhu <hongxing.zhu@nxp.com> Cc: Lucas Stach <l.stach@pengutronix.de> Cc: Thierry Reding <thierry.reding@gmail.com> Cc: Karthikeyan Mitran <m.karthikeyan@mobiveil.co.in> Cc: Hou Zhiqiang <Zhiqiang.Hou@nxp.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Cc: Ryder Lee <ryder.lee@mediatek.com> Cc: Marc Gonzalez <marc.w.gonzalez@free.fr>
Diffstat (limited to 'drivers/pci/controller/pcie-tango.c')
-rw-r--r--drivers/pci/controller/pcie-tango.c4
1 files changed, 2 insertions, 2 deletions
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);