On Mon, May 13, 2002 at 03:29:37AM -0700, David Brownell wrote: > Naturally I don't like this patch, and I may comment more > on it a bit later when I'm not just up late and sleepless ... :) > > > But I'll correct a few misstatements right now about the > current 2.5 behavior. (And for what it's worth, only "uhci.c" > has any problems with that -- from what I've seen.) > > > - It made the USB code more complicated as a whole with the introduction > > of an additional cleanup path for devices. > > Not so. It has detected/reported failures to correctly support > the _original_ cleanup paths, though. For example, device > drivers that hang on to references after their disconnect() > methods complete. (Which can make "rmmod" break, for > example completion callbacks going to where the module > used to be loaded.)
Hm, we should probably fix that. We should test for that in the usb core before passing the call down to the host controller driver. > And it's guaranteed that the *hci_free_dev() code is called in > a thread context, per the original API guarantees. And also > matching the behavior of every other Linux device driver > framework I've had a chance to look at. So should we add a BUG() call if_interrupt() is true when we go to clean up the finally usb_free_dev() call to catch for this? > One thing to keep in mind is that to the extent that many > device drivers _today_ are working "correctly", they're not > going to trigger such bugs. However, Johannes' change > makes the kernel more fragile in the face of newer drivers > which do have bugs in such areas. If we add the BUG() mentioned above, how are things more fragile? Personally, they look more stable to me. thanks, greg k-h _______________________________________________________________ Have big pipes? SourceForge.net is looking for download mirrors. We supply the hardware. You get the recognition. Email Us: [EMAIL PROTECTED] _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
