LOR: USB config SX lock vs. USB suspend and resume SX lock
Hans Petter Selasky
hselasky at c2i.net
Sun Nov 14 21:27:04 UTC 2010
On Sunday 14 November 2010 22:19:46 Bruce Cran wrote:
> I'm running -CURRENT on a laptop which has a wireless switch.
> When I boot with it enabled and then switch it off, the following
> LOR gets logged:
Can you verify that this LOR is real, and that it is not due to SX-locks
having similar names?
--HPS
>
> lock order reversal:
> 1st 0xffffff000466d070 USB config SX lock (USB config SX lock) @
> /usr/src/head/sys/dev/usb/usb_device.c:2671 2nd 0xffffff000466d090 USB
> suspend and resume SX lock (USB suspend and resume SX lock) @
> /usr/src/head/sys/dev/usb/usb_device.c:2672 3rd 0xffffff0004501870 USB
> config SX lock (USB config SX lock) @
> /usr/src/head/sys/dev/usb/usb_device.c:2671 KDB: stack backtrace:
> db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
> kdb_backtrace() at kdb_backtrace+0x37
> _witness_debugger() at _witness_debugger+0x2e
> witness_checkorder() at witness_checkorder+0x807
> _sx_xlock() at _sx_xlock+0x55
> usbd_enum_lock() at usbd_enum_lock+0x2a
> usb_unconfigure() at usb_unconfigure+0x16a
> usb_free_device() at usb_free_device+0x184
> uhub_detach() at uhub_detach+0x6a
> device_detach() at device_detach+0xa4
> usb_detach_device() at usb_detach_device+0x78
> usb_unconfigure() at usb_unconfigure+0x34
> usb_free_device() at usb_free_device+0x184
> uhub_explore() at uhub_explore+0x18e
> usb_bus_explore() at usb_bus_explore+0xc1
> usb_process() at usb_process+0xbb
> fork_exit() at fork_exit+0x12a
> fork_trampoline() at fork_trampoline+0xe
> --- trap 0, rip = 0, rsp = 0xffffff81238cecf0, rbp = 0 ---
>
> During boot I get the following errors logged:
>
> uhub_reattach_port: port 6 reset failed, error=USB_ERR_TIMEOUT
> uhub_reattach_port: device problem (USB_ERR_TIMEOUT), disabling port 6
> uhub_reattach_port: port 2 reset failed, error=USB_ERR_TIMEOUT
> uhub_reattach_port: device problem (USB_ERR_TIMEOUT), disabling port 2
>
> Before the LOR, some devices get disconnected:
>
> ugen5.2: <Broadcom> at usbus5 (disconnected)
> uhub7: at uhub5, port 2, addr 2 (disconnected)
> ugen5.3: <Broadcom Corp> at usbus5 (disconnected)
>
> And after, more:
>
> ugen5.4: <Broadcom Corp> at usbus5 (disconnected)
> ukbd0: at uhub7, port 2, addr 4 (disconnected)
> ugen5.5: <Broadcom Corp> at usbus5 (disconnected)
> ums0: at uhub7, port 3, addr 5 (disconnected)
More information about the freebsd-usb
mailing list