Thread (19 messages) 19 messages, 6 authors, 2021-08-13

Re: [PATCH v2 5/9] usb: host: ohci-tmio: add IRQ check

From: Alan Stern <stern@rowland.harvard.edu>
Date: 2021-08-09 20:54:40

On Mon, Aug 09, 2021 at 11:41:59PM +0300, Sergey Shtylyov wrote:
quoted hunk ↗ jump to hunk
The driver neglects to check the  result of platform_get_irq()'s call and
blithely passes the negative error codes to usb_add_hcd() (which takes
*unsigned* IRQ #), causing request_irq() that it calls to fail with
-EINVAL, overriding an original error code. Stop calling usb_add_hcd()
with the invalid IRQ #s.

Fixes: 78c73414f4f6 ("USB: ohci: add support for tmio-ohci cell")
Signed-off-by: Sergey Shtylyov <redacted>

---
 drivers/usb/host/ohci-tmio.c |    2 ++
 1 file changed, 2 insertions(+)

Index: usb/drivers/usb/host/ohci-tmio.c
===================================================================
--- usb.orig/drivers/usb/host/ohci-tmio.c
+++ usb/drivers/usb/host/ohci-tmio.c
@@ -242,6 +242,8 @@ static int ohci_hcd_tmio_drv_probe(struc
 	if (ret < 0)
 		goto err_enable;
 
+	if (irq < 0)
+		goto err_enable;
 	ret = usb_add_hcd(hcd, irq, 0);
 	if (ret)
 		goto err_add_hcd;
Surely this test should be placed near the start of the function, before 
the call to usb_create_hcd().  There's no point in doing all the extra 
work if the irq value is already invalid.

Alan Stern
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help