Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 14 Nov 2010 22:28:02 +0100
From:      Hans Petter Selasky <hselasky@c2i.net>
To:        freebsd-usb@freebsd.org
Cc:        bzeeb+freebsd+lor@zabbadoz.net
Subject:   Re: LOR: USB config SX lock vs. USB suspend and resume SX lock
Message-ID:  <201011142228.02765.hselasky@c2i.net>
In-Reply-To: <201011142119.46709.bruce@cran.org.uk>
References:  <201011142119.46709.bruce@cran.org.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
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)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201011142228.02765.hselasky>