slimbus: qcom: Fix IRQ check in qcom_slim_probe
authorMiaoqian Lin <linmq006@gmail.com>
Fri, 29 Apr 2022 16:49:17 +0000 (17:49 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 18 May 2022 08:26:55 +0000 (10:26 +0200)
commit fe503887eed6ea528e144ec8dacfa1d47aa701ac upstream.

platform_get_irq() returns non-zero IRQ number on success,
negative error number on failure.
And the doc of platform_get_irq() provides a usage example:

    int irq = platform_get_irq(pdev, 0);
    if (irq < 0)
        return irq;

Fix the check of return value to catch errors correctly.

Fixes: ad7fcbc308b0 ("slimbus: qcom: Add Qualcomm Slimbus controller driver")
Cc: stable@vger.kernel.org
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20220429164917.5202-2-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/slimbus/qcom-ctrl.c

index f04b961..ec58091 100644 (file)
@@ -510,9 +510,9 @@ static int qcom_slim_probe(struct platform_device *pdev)
        }
 
        ctrl->irq = platform_get_irq(pdev, 0);
-       if (!ctrl->irq) {
+       if (ctrl->irq < 0) {
                dev_err(&pdev->dev, "no slimbus IRQ\n");
-               return -ENODEV;
+               return ctrl->irq;
        }
 
        sctrl = &ctrl->ctrl;