usb: musb: core: fix IRQ check

musb_probe() only regards 0 as a wrong IRQ number, despite platform_get_irq()
that it calls returns -ENXIO in that case. It leads to musb_init_controller()
calling request_irq() with a negative IRQ number, and when it naturally
fails, the following is printed to the console:

request_irq -6 failed!
musb_init_controller failed with status -19

Fix musb_probe() to filter out the error values as well as 0.

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
Sergei Shtylyov 2010-12-10 21:03:29 +03:00 committed by Felipe Balbi
parent 456bb1697e
commit 541079de88

View File

@ -2185,7 +2185,7 @@ static int __init musb_probe(struct platform_device *pdev)
void __iomem *base;
iomem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (!iomem || irq == 0)
if (!iomem || irq <= 0)
return -ENODEV;
base = ioremap(iomem->start, resource_size(iomem));