When platform_get_irq() fails we should propagate the real error value instead of always returning -ENODEV. Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Fabio Estevam <festevam@xxxxxxxxx> --- drivers/pci/host/pci-v3-semi.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/pci/host/pci-v3-semi.c b/drivers/pci/host/pci-v3-semi.c index a544d72..01017af 100644 --- a/drivers/pci/host/pci-v3-semi.c +++ b/drivers/pci/host/pci-v3-semi.c @@ -806,9 +806,9 @@ static int v3_pci_probe(struct platform_device *pdev) /* Get and request error IRQ resource */ irq = platform_get_irq(pdev, 0); - if (irq <= 0) { + if (irq < 0) { dev_err(dev, "unable to obtain PCIv3 error IRQ\n"); - return -ENODEV; + return irq; } ret = devm_request_irq(dev, irq, v3_irq, 0, "PCIv3 error", v3); -- 2.7.4