OSDN Git Service

PCI: rockchip: Fix platform_get_irq() error handling
authorFabio Estevam <fabio.estevam@nxp.com>
Thu, 31 Aug 2017 17:52:09 +0000 (14:52 -0300)
committerBjorn Helgaas <bhelgaas@google.com>
Tue, 5 Sep 2017 18:38:19 +0000 (13:38 -0500)
When platform_get_irq() fails we should propagate the real error value
instead of always returning -EINVAL.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Cc: Shawn Lin <shawn.lin@rock-chips.com>
drivers/pci/host/pcie-rockchip.c

index 56c2423..d205381 100644 (file)
@@ -962,7 +962,7 @@ static int rockchip_pcie_setup_irq(struct rockchip_pcie *rockchip)
        irq = platform_get_irq_byname(pdev, "sys");
        if (irq < 0) {
                dev_err(dev, "missing sys IRQ resource\n");
-               return -EINVAL;
+               return irq;
        }
 
        err = devm_request_irq(dev, irq, rockchip_pcie_subsys_irq_handler,
@@ -975,7 +975,7 @@ static int rockchip_pcie_setup_irq(struct rockchip_pcie *rockchip)
        irq = platform_get_irq_byname(pdev, "legacy");
        if (irq < 0) {
                dev_err(dev, "missing legacy IRQ resource\n");
-               return -EINVAL;
+               return irq;
        }
 
        irq_set_chained_handler_and_data(irq,
@@ -985,7 +985,7 @@ static int rockchip_pcie_setup_irq(struct rockchip_pcie *rockchip)
        irq = platform_get_irq_byname(pdev, "client");
        if (irq < 0) {
                dev_err(dev, "missing client IRQ resource\n");
-               return -EINVAL;
+               return irq;
        }
 
        err = devm_request_irq(dev, irq, rockchip_pcie_client_irq_handler,