From: Sergei Shtylyov Date: Mon, 20 Aug 2012 18:34:46 +0000 (+0400) Subject: usb: musb: musbhsdma: fix IRQ check X-Git-Tag: v3.6-rc6~19^2~5^2~5 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7effdbd6512083e21c007edbaca0ceff4aa5159f;p=platform%2Fupstream%2Fkernel-adaptation-pc.git usb: musb: musbhsdma: fix IRQ check dma_controller_create() in this MUSB DMA driver only regards 0 as a wrong IRQ number, despite platform_get_irq_byname() that it calls returns -ENXIO in that case. It leads to calling request_irq() with a negative IRQ number, and when it naturally fails, the following is printed to the console: request_irq -6 failed! and the DMA controller is not created. Fix this function to filter out the error values as well as 0. Signed-off-by: Sergei Shtylyov Signed-off-by: Felipe Balbi --- diff --git a/drivers/usb/musb/musbhsdma.c b/drivers/usb/musb/musbhsdma.c index 57a6085..c1be687 100644 --- a/drivers/usb/musb/musbhsdma.c +++ b/drivers/usb/musb/musbhsdma.c @@ -388,7 +388,7 @@ dma_controller_create(struct musb *musb, void __iomem *base) struct platform_device *pdev = to_platform_device(dev); int irq = platform_get_irq_byname(pdev, "dma"); - if (irq == 0) { + if (irq <= 0) { dev_err(dev, "No DMA interrupt line!\n"); return NULL; }