usb: misc: eud: Add IRQ check for platform_get_irq()
authorChen Ni <nichen@iscas.ac.cn>
Thu, 2 Nov 2023 07:51:13 +0000 (07:51 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Nov 2023 12:02:53 +0000 (12:02 +0000)
The function eud_probe() should check the return value of
platform_get_irq() for errors so as to not pass a negative value to
the devm_request_threaded_irq().

Signed-off-by: Chen Ni <nichen@iscas.ac.cn>
Reviewed-by: Caleb Connolly <caleb.connolly@linaro.org>
Link: https://lore.kernel.org/r/20231102075113.1043358-1-nichen@iscas.ac.cn
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/misc/qcom_eud.c

index 7f371ea1248c32217ccb2e1f7e900d7e0d98753a..26e9b8749d8ab153e88017dbf5b3eb667f7bea12 100644 (file)
@@ -205,6 +205,9 @@ static int eud_probe(struct platform_device *pdev)
                return PTR_ERR(chip->mode_mgr);
 
        chip->irq = platform_get_irq(pdev, 0);
+       if (chip->irq < 0)
+               return chip->irq;
+
        ret = devm_request_threaded_irq(&pdev->dev, chip->irq, handle_eud_irq,
                        handle_eud_irq_thread, IRQF_ONESHOT, NULL, chip);
        if (ret)