]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC r267240:
authorhselasky <hselasky@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 11 Jun 2014 05:39:08 +0000 (05:39 +0000)
committerhselasky <hselasky@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 11 Jun 2014 05:39:08 +0000 (05:39 +0000)
commit3b5678d8e1db2849656abe97096751604858e27b
tree48132ba6c7f1af2727c50cd208afbfc29b212dd5
parentf634c17ba2dfb7facf6d8bcce6e3d5a3108cebf4
MFC r267240:
Resolve a deadlock setting the USB configuration index from userspace
on USB HUBs by moving the code into the USB explore threads. The
deadlock happens because child devices of the USB HUB don't have the
expected reference count when called from outside the explore
thread. Only the HUB device itself, which the IOCTL interface locks,
gets the correct reference count.

git-svn-id: svn://svn.freebsd.org/base/stable/10@267347 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/dev/usb/controller/usb_controller.c
sys/dev/usb/usb_dev.c
sys/dev/usb/usb_device.h
sys/dev/usb/usb_generic.c
sys/dev/usb/usb_hub.c
sys/dev/usb/usb_hub.h
sys/dev/usb/usbdi.h