Am Mittwoch, 10. Dezember 2003 17:49 schrieb Duncan Sands: > On Wednesday 10 December 2003 17:20, Oliver Neukum wrote: > > Am Mittwoch, 10. Dezember 2003 14:22 schrieb Duncan Sands: > > > > That leads to the question of how to assure that the device doesn't go > > > > away before usb_set_configuration is called. Perhaps > > > > usb_set_configuration and usb_unbind_interface should be changed to > > > > require the caller to hold the serialize lock. > > > > > > How about > > > > > > __usb_set_configuration - lockless version > > > usb_set_configuration - locked version > > > > Partially done. > > That's what the _physical version of usb_reset_device() is about. > > Unfortunately, usb_physical_reset_device calls usb_set_configuration > which takes dev->serialize.
That is bad, but the solution is obvious. All such operations need a _physical version. At first sight this may look less elegant than some lock dropping schemes, but it is a solution that produces obviously correct code paths with respect to locking. Regards Oliver ------------------------------------------------------- This SF.net email is sponsored by: IBM Linux Tutorials. Become an expert in LINUX or just sharpen your skills. Sign up for IBM's Free Linux Tutorials. Learn everything from the bash shell to sys admin. Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel