Hi Felipe, I'm getting the following from the dwc3 driver using the dwc3-pci glue layer, when modprobing the driver. It's not fatal, the driver continues to work afterwards. Looks like request_threaded_irq() is getting called with irqs disabled, and it can sleep. I am unable to test with 3.12-rc1, because my VGA console doesn't work with that kernel. -- Paul [ 24.165697] dwc3 dwc3.0.auto: ep0out: cmd 'Start Transfer' params 00000000 37834000 00000000 [ 24.165703] dwc3 dwc3.0.auto: Command Complete --> 0 [ 24.165707] ------------[ cut here ]------------ [ 24.165714] WARNING: CPU: 2 PID: 3824 at /git/linux/kernel/lockdep.c:2740 lockdep_trace_alloc+0xbf/0xd0() [ 24.165717] DEBUG_LOCKS_WARN_ON(irqs_disabled_flags(flags)) [ 24.165719] Modules linked in: g_mass_storage(+) libcomposite configfs dwc3_pci dwc3 udc_core phy_nop fuse ehci_pci lpc_ich ehci_hcd [ 24.165736] CPU: 2 PID: 3824 Comm: modprobe Not tainted 3.11.0+ #4 [ 24.165738] Hardware name: System manufacturer System Product Name/P6X58D PREMIUM, BIOS 0703 02/24/2010 [ 24.165741] 0000000000000ab4 ffff880139b5fac8 ffffffff818c0804 0000000000000ab4 [ 24.165747] ffff880139b5fb18 ffff880139b5fb08 ffffffff81049ac7 ffff880139b5fb38 [ 24.165753] 0000000000000046 ffff88013b003900 ffff88013a46d8f8 00000000000080d0 [ 24.165759] Call Trace: [ 24.165766] [<ffffffff818c0804>] dump_stack+0x58/0x7c [ 24.165772] [<ffffffff81049ac7>] warn_slowpath_common+0x87/0xb0 [ 24.165777] [<ffffffff810d643a>] ? kzalloc.clone.33+0x1a/0x20 [ 24.165781] [<ffffffff81049b91>] warn_slowpath_fmt+0x41/0x50 [ 24.165787] [<ffffffff81516ecc>] ? __dev_printk+0x3c/0x80 [ 24.165791] [<ffffffff810a901f>] lockdep_trace_alloc+0xbf/0xd0 [ 24.165797] [<ffffffff8115abbe>] kmem_cache_alloc_trace+0x2e/0x170 [ 24.165801] [<ffffffff810d643a>] kzalloc.clone.33+0x1a/0x20 [ 24.165806] [<ffffffff810d742f>] request_threaded_irq+0xaf/0x180 [ 24.165813] [<ffffffffa0050a70>] ? dwc3_gadget_reset_interrupt+0x220/0x220 [dwc3] [ 24.165818] [<ffffffffa004e760>] ? dwc3_gadget_disconnect_interrupt+0x90/0x90 [dwc3] [ 24.165823] [<ffffffffa004fddc>] dwc3_gadget_start+0x1ec/0x250 [dwc3] [ 24.165829] [<ffffffffa004627a>] udc_bind_to_driver+0x7a/0x110 [udc_core] [ 24.165834] [<ffffffffa0046390>] usb_gadget_probe_driver+0x80/0xc0 [udc_core] [ 24.165840] [<ffffffffa0086852>] ? msg_do_config+0x7de/0x7de [g_mass_storage] [ 24.165846] [<ffffffffa006ef35>] usb_composite_probe+0x95/0xa0 [libcomposite] [ 24.165851] [<ffffffffa0086862>] msg_init+0x10/0x12 [g_mass_storage] [ 24.165858] [<ffffffff8100022a>] do_one_initcall+0x3a/0x150 [ 24.165863] [<ffffffff8107400e>] ? __blocking_notifier_call_chain+0x5e/0x80 [ 24.165869] [<ffffffff810b46df>] load_module+0x123f/0x1810 [ 24.165874] [<ffffffff810b11b0>] ? free_notes_attrs+0x60/0x60 [ 24.165879] [<ffffffff810b4d81>] SyS_init_module+0xd1/0x100 [ 24.165885] [<ffffffff818cec52>] system_call_fastpath+0x16/0x1b [ 24.165888] ---[ end trace 5f591d16a0778006 ]--- [ 24.165890] BUG: sleeping function called from invalid context at /git/linux/mm/slub.c:935 [ 24.165893] in_atomic(): 1, irqs_disabled(): 1, pid: 3824, name: modprobe [ 24.165895] INFO: lockdep is turned off. [ 24.165897] irq event stamp: 22792 [ 24.165899] hardirqs last enabled at (22791): [<ffffffff810958e2>] vprintk_emit+0x232/0x520 [ 24.165904] hardirqs last disabled at (22792): [<ffffffff818c5dd7>] _raw_spin_lock_irqsave+0x17/0x60 [ 24.165909] softirqs last enabled at (22748): [<ffffffff8104ebb4>] __do_softirq+0x184/0x2b0 [ 24.165914] softirqs last disabled at (22727): [<ffffffff8104ee45>] irq_exit+0x65/0x70 [ 24.165919] CPU: 2 PID: 3824 Comm: modprobe Tainted: G W 3.11.0+ #4 [ 24.165922] Hardware name: System manufacturer System Product Name/P6X58D PREMIUM, BIOS 0703 02/24/2010 [ 24.165924] ffff88013b003900 ffff880139b5fb68 ffffffff818c0804 ffff880139b5fb68 [ 24.165929] ffff880124265140 ffff880139b5fb88 ffffffff81078aed ffffffffa00560ec [ 24.165935] 0000000000000010 ffff880139b5fbd8 ffffffff8115abd6 0000000000000002 [ 24.165941] Call Trace: [ 24.165945] [<ffffffff818c0804>] dump_stack+0x58/0x7c [ 24.165951] [<ffffffff81078aed>] __might_sleep+0xdd/0x110 [ 24.165955] [<ffffffff8115abd6>] kmem_cache_alloc_trace+0x46/0x170 [ 24.165959] [<ffffffff810d643a>] kzalloc.clone.33+0x1a/0x20 [ 24.165963] [<ffffffff810d742f>] request_threaded_irq+0xaf/0x180 [ 24.165969] [<ffffffffa0050a70>] ? dwc3_gadget_reset_interrupt+0x220/0x220 [dwc3] [ 24.165974] [<ffffffffa004e760>] ? dwc3_gadget_disconnect_interrupt+0x90/0x90 [dwc3] [ 24.165979] [<ffffffffa004fddc>] dwc3_gadget_start+0x1ec/0x250 [dwc3] [ 24.165985] [<ffffffffa004627a>] udc_bind_to_driver+0x7a/0x110 [udc_core] [ 24.165990] [<ffffffffa0046390>] usb_gadget_probe_driver+0x80/0xc0 [udc_core] [ 24.165995] [<ffffffffa0086852>] ? msg_do_config+0x7de/0x7de [g_mass_storage] [ 24.166001] [<ffffffffa006ef35>] usb_composite_probe+0x95/0xa0 [libcomposite] [ 24.166006] [<ffffffffa0086862>] msg_init+0x10/0x12 [g_mass_storage] [ 24.166011] [<ffffffff8100022a>] do_one_initcall+0x3a/0x150 [ 24.166015] [<ffffffff8107400e>] ? __blocking_notifier_call_chain+0x5e/0x80 [ 24.166020] [<ffffffff810b46df>] load_module+0x123f/0x1810 [ 24.166024] [<ffffffff810b11b0>] ? free_notes_attrs+0x60/0x60 [ 24.166030] [<ffffffff810b4d81>] SyS_init_module+0xd1/0x100 [ 24.166034] [<ffffffff818cec52>] system_call_fastpath+0x16/0x1b [ 24.166041] BUG: scheduling while atomic: modprobe/3824/0x00000002 [ 24.166043] INFO: lockdep is turned off. [ 24.166045] Modules linked in: g_mass_storage(+) libcomposite configfs dwc3_pci dwc3 udc_core phy_nop fuse ehci_pci lpc_ich ehci_hcd [ 24.166060] CPU: 2 PID: 3824 Comm: modprobe Tainted: G W 3.11.0+ #4 [ 24.166062] Hardware name: System manufacturer System Product Name/P6X58D PREMIUM, BIOS 0703 02/24/2010 [ 24.166064] 0000000000000002 ffff880139b5f898 ffffffff818c0804 0000000000000002 [ 24.166070] ffff880124265140 ffff880139b5f8b8 ffffffff81078de5 ffff88013fc53980 [ 24.166075] ffff88013fc53980 ffff880139b5f968 ffffffff818c4071 ffff880139b5f948 [ 24.166081] Call Trace: [ 24.166086] [<ffffffff818c0804>] dump_stack+0x58/0x7c [ 24.166091] [<ffffffff81078de5>] __schedule_bug+0x65/0x90 [ 24.166095] [<ffffffff818c4071>] __schedule+0x7d1/0x850 [ 24.166100] [<ffffffff81082343>] ? select_task_rq_fair+0x53/0x7d0 [ 24.166105] [<ffffffff818c4ba4>] schedule+0x24/0x70 [ 24.166109] [<ffffffff818c09f5>] schedule_timeout+0x1c5/0x2d0 [ 24.166113] [<ffffffff818c4966>] ? wait_for_completion+0x36/0x110 [ 24.166117] [<ffffffff818c49de>] wait_for_completion+0xae/0x110 [ 24.166122] [<ffffffff8107d5f0>] ? try_to_wake_up+0x300/0x300 [ 24.166127] [<ffffffff8106e036>] kthread_create_on_node+0xa6/0x130 [ 24.166131] [<ffffffff810d5b40>] ? wake_threads_waitq+0x40/0x40 [ 24.166136] [<ffffffff81006f30>] ? show_stack+0x20/0x50 [ 24.166141] [<ffffffff818c0804>] ? dump_stack+0x58/0x7c [ 24.166145] [<ffffffff810d718d>] __setup_irq+0x29d/0x490 [ 24.166150] [<ffffffff810d7483>] request_threaded_irq+0x103/0x180 [ 24.166156] [<ffffffffa0050a70>] ? dwc3_gadget_reset_interrupt+0x220/0x220 [dwc3] [ 24.166161] [<ffffffffa004e760>] ? dwc3_gadget_disconnect_interrupt+0x90/0x90 [dwc3] [ 24.166166] [<ffffffffa004fddc>] dwc3_gadget_start+0x1ec/0x250 [dwc3] [ 24.166171] [<ffffffffa004627a>] udc_bind_to_driver+0x7a/0x110 [udc_core] [ 24.166176] [<ffffffffa0046390>] usb_gadget_probe_driver+0x80/0xc0 [udc_core] [ 24.166182] [<ffffffffa0086852>] ? msg_do_config+0x7de/0x7de [g_mass_storage] [ 24.166187] [<ffffffffa006ef35>] usb_composite_probe+0x95/0xa0 [libcomposite] [ 24.166193] [<ffffffffa0086862>] msg_init+0x10/0x12 [g_mass_storage] [ 24.166197] [<ffffffff8100022a>] do_one_initcall+0x3a/0x150 [ 24.166201] [<ffffffff8107400e>] ? __blocking_notifier_call_chain+0x5e/0x80 [ 24.166206] [<ffffffff810b46df>] load_module+0x123f/0x1810 [ 24.166211] [<ffffffff810b11b0>] ? free_notes_attrs+0x60/0x60 [ 24.166216] [<ffffffff810b4d81>] SyS_init_module+0xd1/0x100 [ 24.166221] [<ffffffff818cec52>] system_call_fastpath+0x16/0x1b [ 24.166258] dwc3 dwc3.0.auto: gadget g_mass_storage data soft-connect -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html