> On Mon, 28 Mar 2005, Patrick Mochel wrote:>> > How is this related to (8) above? Do you need some sort of protected,> > short path through the core to add the device, but not bind it or add it> > to the PM core?>> Having thought it through, I believe all we need for USB support is this:>> Whenever usb_register() in the USB core calls driver_register()> and the call filters down to driver_attach(), that routine> should lock dev->parent->sem before calling driver_probe_device()> (and unlock it afterward, of course).>> (For the corresponding remove pathway, where usb_deregister()> calls driver_unregister(), it would be nice if __remove_driver()> locked dev->parent->sem before calling device_release_driver().> This is not really needed, however, since USB drivers aren't> supposed to touch the device in their disconnect() method.)