diff options
author | Sergei Shtylyov <sshtylyov@ru.mvista.com> | 2012-08-20 22:34:46 +0400 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2012-09-06 19:52:28 +0300 |
commit | 7effdbd6512083e21c007edbaca0ceff4aa5159f (patch) | |
tree | e511f5e2f9e65c66b58db5fb3716129f0e07a7b4 /drivers/usb | |
parent | ff41aaa3b6c181a713078d8ad96da4ba822de436 (diff) |
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 <sshtylyov@ru.mvista.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/musb/musbhsdma.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/musb/musbhsdma.c b/drivers/usb/musb/musbhsdma.c index 57a608584e1..c1be687e00e 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; } |