]> CyberLeo.Net >> Repos - FreeBSD/stable/9.git/commit
MFC r267240:
authorhselasky <hselasky@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 11 Jun 2014 06:45:52 +0000 (06:45 +0000)
committerhselasky <hselasky@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 11 Jun 2014 06:45:52 +0000 (06:45 +0000)
commit70f7cf607bf1bfef23ddadb6d253134b3076469c
tree8599b7a625bffaa19fa1a6521029ba2e440f57f5
parent617bbd1eaa064e5c84ea2deae10bbc689d0abbd4
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.

Approved by: re, marius @

git-svn-id: svn://svn.freebsd.org/base/stable/9@267350 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