We can not call put_device() from irq context :(

I added a "might_sleep()" to the driver core and get the following from
the ehci driver.  Any thoughts?

thanks,

greg k-h


Debug: sleeping function called from invalid context at drivers/base/core.c:343
in_atomic():1, irqs_disabled():0
 [<c012006d>] __might_sleep+0x9e/0xa6
 [<c0270400>] put_device+0x1c/0x35
 [<f883ebde>] usb_hcd_giveback_urb+0x23/0x84 [usbcore]
 [<f8820f40>] ehci_urb_done+0x8d/0xcf [ehci_hcd]
 [<f8821138>] qh_completions+0x1b6/0x359 [ehci_hcd]
 [<f882208d>] scan_async+0x8a/0x13f [ehci_hcd]
 [<f8824e77>] ehci_work+0x59/0xd2 [ehci_hcd]
 [<f88255d7>] ehci_irq+0x185/0x336 [ehci_hcd]
 [<c0106a10>] do_gettimeofday+0x1e/0xbf
 [<c0127ae5>] getnstimeofday+0x14/0x2a
 [<c0139f6c>] ktime_get_ts+0x5e/0x66
 [<c0139ea3>] ktime_get+0x1b/0x43
 [<c013a521>] hrtimer_run_queues+0x50/0xf9
 [<f883ec6f>] usb_hcd_irq+0x30/0x68 [usbcore]
 [<c0144b18>] handle_IRQ_event+0x39/0x6d
 [<c0144bd4>] __do_IRQ+0x88/0xfc
 [<c0105789>] do_IRQ+0x19/0x24
 [<c0103b82>] common_interrupt+0x1a/0x20
 [<c01012a5>] mwait_idle+0x2a/0x34
 [<c0101103>] cpu_idle+0x7f/0xb4
 [<c041e898>] start_kernel+0x166/0x17f
 [<c041e2b6>] unknown_bootoption+0x0/0x1e0


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to