aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb
diff options
context:
space:
mode:
authorMing Lei <ming.lei@canonical.com>2012-05-16 23:38:24 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-05-17 12:49:23 -0400
commit8f9d973a0daee49e0b9b924c724b18b0170ec9cb (patch)
treea6ec5ab2a2d140f341f0fcc2e58e7ae101b4f56c /drivers/usb
parentdb2c8624847b0b67c04c3d6271823f3fee671e26 (diff)
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>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/otg/twl6030-usb.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/usb/otg/twl6030-usb.c b/drivers/usb/otg/twl6030-usb.c
index e3fa387ca81..d2a9a8e691b 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)
455 455
456 twl->irq_enabled = true; 456 twl->irq_enabled = true;
457 status = request_threaded_irq(twl->irq1, NULL, twl6030_usbotg_irq, 457 status = request_threaded_irq(twl->irq1, NULL, twl6030_usbotg_irq,
458 IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING, 458 IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING | IRQF_ONESHOT,
459 "twl6030_usb", twl); 459 "twl6030_usb", twl);
460 if (status < 0) { 460 if (status < 0) {
461 dev_err(&pdev->dev, "can't get IRQ %d, err %d\n", 461 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)
467 } 467 }
468 468
469 status = request_threaded_irq(twl->irq2, NULL, twl6030_usb_irq, 469 status = request_threaded_irq(twl->irq2, NULL, twl6030_usb_irq,
470 IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING, 470 IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING | IRQF_ONESHOT,
471 "twl6030_usb", twl); 471 "twl6030_usb", twl);
472 if (status < 0) { 472 if (status < 0) {
473 dev_err(&pdev->dev, "can't get IRQ %d, err %d\n", 473 dev_err(&pdev->dev, "can't get IRQ %d, err %d\n",