Re: [linux-usb-devel] Re: [OOPS, usbcore, releaseintf] 2.6.0-test10-mm1

From: Duncan Sands
Date: Thu Dec 11 2003 - 04:37:39 EST


On Wednesday 10 December 2003 19:19, Alan Stern wrote:
> On Wed, 10 Dec 2003, 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.
>
> I don't understand the problem. What's wrong with dropping dev->serialize
> before calling usb_reset_device() or usb_set_configuration() and then
> reacquiring it afterward?

The problem is that between dropping the lock and usb_set_configuration (or
whatever) picking it up again, the device may be disconnected, so usb_set_configuration
needs to handle the case of being called after disconnect (it doesn't seem to
check for that right now, but I only had a quick look). Also, after usbfs picks up
the lock again it needs to check for disconnect. None of this is a big deal, but
it could all be avoided by a simpler change: provide a usb_physical_set_configuration
(or whatever), which is usb_set_configuration without taking dev->serialize.

Duncan.
-
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/