If platform_get_irq() returns IRQ0 (considered invalid according to Linus) the driver blithely passes it to usb_add_hcd() that treats IRQ0 as no IRQ at all. Deny IRQ0 right away, returning -EINVAL from the probe() method... Fixes: c8c38de9d800 ("USB host: Adding USB ehci & ohci support for spear platform") Signed-off-by: Sergey Shtylyov <s.shtylyov@xxxxxx> --- drivers/usb/host/ohci-spear.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/usb/host/ohci-spear.c b/drivers/usb/host/ohci-spear.c index b4cd9e6c72fd..6c5af2612c46 100644 --- a/drivers/usb/host/ohci-spear.c +++ b/drivers/usb/host/ohci-spear.c @@ -46,6 +46,10 @@ static int spear_ohci_hcd_drv_probe(struct platform_device *pdev) retval = irq; goto fail; } + if (!irq) { + retval = -EINVAL; + goto fail; + } /* * Right now device-tree probed devices don't get dma_mask set. -- 2.26.3