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: 84bab7393b0d ("[ARM] ohci-pxa27x: use platform_get_{irq,resource} for the resource") Signed-off-by: Sergey Shtylyov <s.shtylyov@xxxxxx> --- drivers/usb/host/ohci-pxa27x.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/usb/host/ohci-pxa27x.c b/drivers/usb/host/ohci-pxa27x.c index 54aa5c77e549..336437277fd0 100644 --- a/drivers/usb/host/ohci-pxa27x.c +++ b/drivers/usb/host/ohci-pxa27x.c @@ -443,6 +443,8 @@ static int ohci_hcd_pxa27x_probe(struct platform_device *pdev) pr_err("no resource of IORESOURCE_IRQ"); return irq; } + if (!irq) + return -EINVAL; usb_clk = devm_clk_get(&pdev->dev, NULL); if (IS_ERR(usb_clk)) -- 2.26.3