Messages in this thread | | | Date | Wed, 10 Dec 2003 11:43:34 -0800 | From | David Brownell <> | Subject | Re: [linux-usb-devel] Re: [OOPS, usbcore, releaseintf] 2.6.0-test10-mm1 |
| |
Duncan Sands wrote: > On Wednesday 10 December 2003 18:34, David Brownell wrote: > >>>Unfortunately, usb_physical_reset_device calls usb_set_configuration >>>which takes dev->serialize. >> >>Not since late August it doesn't ... > > > In current 2.5 bitkeeper it does.
usb_physical_reset_device() does not call usb_set_configuration() except in the known-broken (for other reasons too!) "firmware changed" path. Known-broken, but not yet removed since nobody has reported running into that or the other deadlock; the real fix is force re-enumeration of the device.
The main path uses usb_control_msg(), because usb_reset_device() currently guarantees it preserves (restore) altsettings as well as driver bindings. It couldn't even use usb_reset_configuration(), since that gives altsettings their initial values (zero).
- Dave
> Duncan. > > int usb_set_configuration(struct usb_device *dev, int configuration) > { > int i, ret; > struct usb_host_config *cp = NULL; > > /* dev->serialize guards all config changes */ > down(&dev->serialize); >
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |