[PATCH v2 1/9] usb: dwc3: meson-g12a: add IRQ check
Sergey Shtylyov
s.shtylyov at omp.ru
Mon Aug 9 13:21:14 PDT 2021
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 <s.shtylyov at omp.ru>
Reviewed-by: Martin Blumenstingl <martin.blumenstingl at googlemail.com>
Acked-by: Felipe Balbi <balbi at kernel.org>
---
Changes in version 2:
- added Martin's and Felipe's tags.
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);
More information about the linux-amlogic
mailing list