Yes, a configuration change is: 1. Lock device 2. Disconnect all interfaces 3. Send control message 4. Unlock device 5. Probe all the device's interfaces
To a driver changing a configuration is an unplug, replug cycle.
Make that probe()/disconnect() ... :)
Something I want (eventually) to see between steps 2 & 4 is notifying the hcd to clear each endpoint's configuration data. That state is known to hardware (OHCI and EHCI) so changing it needs hardware synchronization.
The same problem comes up with (re)setting an interface to some altsetting. There's no probe/disconnect relevant there since the interface doesn't go away, but the hardware does need to clear out its state.
- Dave
------------------------------------------------------- This SF.net email is sponsored by: Scholarships for Techies! Can't afford IT training? All 2003 ictp students receive scholarships. Get hands-on training in Microsoft, Cisco, Sun, Linux/UNIX, and more. www.ictp.com/training/sourceforge.asp _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
