diff options
author | Ming Lei <ming.lei@canonical.com> | 2012-05-17 11:38:24 +0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-05-17 09:49:23 -0700 |
commit | 8f9d973a0daee49e0b9b924c724b18b0170ec9cb (patch) | |
tree | a6ec5ab2a2d140f341f0fcc2e58e7ae101b4f56c | |
parent | db2c8624847b0b67c04c3d6271823f3fee671e26 (diff) | |
download | blackbird-op-linux-8f9d973a0daee49e0b9b924c724b18b0170ec9cb.tar.gz blackbird-op-linux-8f9d973a0daee49e0b9b924c724b18b0170ec9cb.zip |
USB: twl6030-usb: pass IRQF_ONESHOT to request_threaded_irq
The flag of IRQF_ONESHOT should be passed to request_threaded_irq,
otherwise the following failure message will be dumped because
hardware handler is defined as NULL:
[ 2.271148] genirq: Threaded irq requested with handler=NULL and
!ONESHOT for irq 356
[ 2.279541] twl6030_usb twl6030_usb: can't get IRQ 356, err -22
[ 2.285919] twl6030_usb: probe of twl6030_usb failed with error -22
The patch fixes the twl6030-usb probe failure.
Signed-off-by: Ming Lei <ming.lei@canonical.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/usb/otg/twl6030-usb.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/usb/otg/twl6030-usb.c b/drivers/usb/otg/twl6030-usb.c index e3fa387ca81e..d2a9a8e691b9 100644 --- a/drivers/usb/otg/twl6030-usb.c +++ b/drivers/usb/otg/twl6030-usb.c @@ -455,7 +455,7 @@ static int __devinit twl6030_usb_probe(struct platform_device *pdev) twl->irq_enabled = true; status = request_threaded_irq(twl->irq1, NULL, twl6030_usbotg_irq, - IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING, + IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING | IRQF_ONESHOT, "twl6030_usb", twl); if (status < 0) { dev_err(&pdev->dev, "can't get IRQ %d, err %d\n", @@ -467,7 +467,7 @@ static int __devinit twl6030_usb_probe(struct platform_device *pdev) } status = request_threaded_irq(twl->irq2, NULL, twl6030_usb_irq, - IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING, + IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING | IRQF_ONESHOT, "twl6030_usb", twl); if (status < 0) { dev_err(&pdev->dev, "can't get IRQ %d, err %d\n", |