On Fri, 1 Jul 2011, Ãric Piel wrote::
It appears that this was caused by Sarah's commitThanks Alan,
fccf4e86200b8f5edd9a65da26f150e32ba79808 (USB: Free bandwidth when
usb_disable_device is called). usb_disconnect() grabs the
bandwidth_mutex before calling usb_disable_device(), which calls down
indirectly to usb_set_interface(), which tries to acquire the
bandwidth_mutex.
This patch should fix the problem. Still, this whole area cries out
for some serious rewriting.