Re: [linux-usb-devel] Re: [OOPS, usbcore, releaseintf] 2.6.0-test10-mm1
From: David Brownell
Date: Wed Dec 10 2003 - 14:36:57 EST
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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/