Hello. On 07-01-2011 12:45, Felipe Balbi wrote:
musb_probe() only regards 0 as a wrong IRQ number, despite platform_get_irq() that it calls returns -EXDEV 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@xxxxxxxxxxxxx>
--- This patch is against the recent Linus' tree. drivers/usb/musb/musb_core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Index: usb-2.6/drivers/usb/musb/musb_core.c =================================================================== --- usb-2.6.orig/drivers/usb/musb/musb_core.c +++ usb-2.6/drivers/usb/musb/musb_core.c @@ -2221,7 +2221,7 @@ static int __init musb_probe(struct plat void __iomem *base; iomem = platform_get_resource(pdev, IORESOURCE_MEM, 0); - if (!iomem || irq == 0) + if (!iomem || irq <= 0)
isn't irq 0 a valid IRQ number ?? How about chaging to irq < 0 instead ?
IRQ0 is generally not considered a valid IRQ -- NO_IRQ is defined as 0. AFAIK, that decision comes from Linus.
WBR, Sergei -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html