[PATCH 1/9] usb: dwc3: meson-g12a: add IRQ check
From: Sergey Shtylyov <hidden>
Date: 2021-08-08 20:39:44
Also in:
linux-amlogic, linux-arm-kernel
From: Sergey Shtylyov <hidden>
Date: 2021-08-08 20:39:44
Also in:
linux-amlogic, linux-arm-kernel
The driver neglects to check the result of platform_get_irq()'s call and
blithely passes the negative error codes to devm_request_threaded_irq()
(which takes *unsigned* IRQ #), causing it to fail with -EINVAL, overriding
an original error code. Stop calling devm_request_threaded_irq() with the
invalid IRQ #s.
Fixes: f90db10779ad ("usb: dwc3: meson-g12a: Add support for IRQ based OTG switching")
Signed-off-by: Sergey Shtylyov <redacted>
---
drivers/usb/dwc3/dwc3-meson-g12a.c | 2 ++
1 file changed, 2 insertions(+)
Index: usb/drivers/usb/dwc3/dwc3-meson-g12a.c
===================================================================--- usb.orig/drivers/usb/dwc3/dwc3-meson-g12a.c
+++ usb/drivers/usb/dwc3/dwc3-meson-g12a.c@@ -598,6 +598,8 @@ static int dwc3_meson_g12a_otg_init(stru USB_R5_ID_DIG_IRQ, 0); irq = platform_get_irq(pdev, 0); + if (irq < 0) + return irq; ret = devm_request_threaded_irq(&pdev->dev, irq, NULL, dwc3_meson_g12a_irq_thread, IRQF_ONESHOT, pdev->name, priv);