On Fri, Aug 12, 2011 at 07:38:51AM -0700, Vikram Pandita wrote: > From: Vikram Pandita <vikram.pandita@xxxxxx> > > musb pm_runtime_get_sync call happens in intrrupt context on cable attach case > That can result in re-enabling the interrupts and cause side affects. > > So move the code to a work queue. > > Following is the error path hit on cable attach: > > BUG: sleeping function called from invalid context at drivers/base/power/runtime.c:802 > in_atomic(): 0, irqs_disabled(): 0, pid: 18, name: irq/378-twl6030 > > Backtrace: > [<c00520f0>] (dump_backtrace+0x0/0x110) from [<c054f454>] (dump_stack+0x18/0x1c) > [<c054f43c>] (dump_stack+0x0/0x1c) from [<c007f59c>] (__might_sleep+0x130/0x134) > [<c007f46c>] (__might_sleep+0x0/0x134) from [<c02c2794>] (__pm_runtime_resume+0x94/0x98) > [<c02c2700>] (__pm_runtime_resume+0x0/0x98) from [<c033e7e4>] (musb_otg_notifications+0x9c/0x164) > [<c033e748>] (musb_otg_notifications+0x0/0x164) from [<c00b3df0>] (notifier_call_chain+0x4c/0x8c) > [<c00b3da4>] (notifier_call_chain+0x0/0x8c) from [<c00b44a8>] (__atomic_notifier_call_chain+0x40/0x54) > [<c00b4468>] (__atomic_notifier_call_chain+0x0/0x54) from [<c00b44dc>] (atomic_notifier_call_chain+0x20/0x28) > [<c00b44bc>] (atomic_notifier_call_chain+0x0/0x28) from [<c033f124>] (twl6030_usb_irq+0xc8/0xdc) > [<c033f05c>] (twl6030_usb_irq+0x0/0xdc) from [<c00d79f8>] (irq_thread_fn+0x24/0x40) > [<c00d79d4>] (irq_thread_fn+0x0/0x40) from [<c00d7b64>] (irq_thread+0x150/0x1d8) > [<c00d7a14>] (irq_thread+0x0/0x1d8) from [<c00adf70>] (kthread+0x94/0x98) > [<c00adedc>] (kthread+0x0/0x98) from [<c0094388>] (do_exit+0x0/0x720) > > Tested with: > MUSB Device mode: Cold boot / Hot plug > MUSB Host mode: Cold boot / Hot plug > > Signed-off-by: Vikram Pandita <vikram.pandita@xxxxxx> > Signed-off-by: Moiz Sonasath <m-sonasath@xxxxxx> > Signed-off-by: Vikram Pandita <vikram.pandita@xxxxxx> applied, thanks -- balbi
Attachment:
signature.asc
Description: Digital signature