clocksource/drivers/em_sti: Fix error return codes in em_sti_probe()
authorGustavo A. R. Silva <garsilva@embeddedor.com>
Fri, 30 Jun 2017 06:14:45 +0000 (01:14 -0500)
committerDaniel Lezcano <daniel.lezcano@linaro.org>
Thu, 10 Aug 2017 12:48:18 +0000 (14:48 +0200)
Propagate the return values of platform_get_irq and devm_request_irq on
failure.

Cc: Frans Klaver <fransklaver@gmail.com>
Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
drivers/clocksource/em_sti.c

index bc48cbf6a7957198d4ecd6bf91840df350843d48..269db74a065815e2211194fbda9774dcf1e80041 100644 (file)
@@ -305,7 +305,7 @@ static int em_sti_probe(struct platform_device *pdev)
        irq = platform_get_irq(pdev, 0);
        if (irq < 0) {
                dev_err(&pdev->dev, "failed to get irq\n");
-               return -EINVAL;
+               return irq;
        }
 
        /* map memory, let base point to the STI instance */
@@ -314,11 +314,12 @@ static int em_sti_probe(struct platform_device *pdev)
        if (IS_ERR(p->base))
                return PTR_ERR(p->base);
 
-       if (devm_request_irq(&pdev->dev, irq, em_sti_interrupt,
-                            IRQF_TIMER | IRQF_IRQPOLL | IRQF_NOBALANCING,
-                            dev_name(&pdev->dev), p)) {
+       ret = devm_request_irq(&pdev->dev, irq, em_sti_interrupt,
+                              IRQF_TIMER | IRQF_IRQPOLL | IRQF_NOBALANCING,
+                              dev_name(&pdev->dev), p);
+       if (ret) {
                dev_err(&pdev->dev, "failed to request low IRQ\n");
-               return -ENOENT;
+               return ret;
        }
 
        /* get hold of clock */