Hi, On Sat, Jul 21, 2012 at 11:40:18AM +0400, Denis Efremov wrote: > The replacement of spin_lock_irq/spin_unlock_irq pair in > twl4030_usb_linkstat function by > spin_lock_irqsave/spin_lock_irqrestore pair. > The twl4030_usb_linkstat function is called from twl4030_usb_irq > interrupt handler. Therefore reenabling of handler interrupt line > should be avoided. > > Found by Linux Driver Verification project (linuxtesting.org). > > Signed-off-by: Denis Efremov <yefremov.denis@xxxxxxxxx> I have pushed a patch which I think solves this issue. Can you test ? commit 6b03b13336ee5d8da7bda8799c9ed990e3daedcc Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Jun 14 13:24:42 2012 +0300 usb: otg: twl: add missing IRQF_ONESHOT this patch fixes the following warning: [ 2.825378] genirq: Threaded irq requested \ with handler=NULL and !ONESHOT for irq 363 Signed-off-by: Felipe Balbi <balbi@xxxxxx> diff --git a/drivers/usb/otg/twl4030-usb.c b/drivers/usb/otg/twl4030-usb.c index c4a86da..0297930 100644 --- a/drivers/usb/otg/twl4030-usb.c +++ b/drivers/usb/otg/twl4030-usb.c @@ -651,8 +651,8 @@ static int __devinit twl4030_usb_probe(struct platform_device *pdev) */ twl->irq_enabled = true; status = request_threaded_irq(twl->irq, NULL, twl4030_usb_irq, - IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING, - "twl4030_usb", twl); + IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING | + IRQF_ONESHOT, "twl4030_usb", twl); if (status < 0) { dev_dbg(&pdev->dev, "can't get IRQ %d, err %d\n", twl->irq, status); -- balbi
Attachment:
signature.asc
Description: Digital signature