On Tue, Feb 25, 2003, Oliver Neukum <[EMAIL PROTECTED]> wrote: > > > The only time a driver would need to get a reference is if it intends to > > use the device structure past the disconnect() callback. > > The question should be, what a reference may be used for after disconnect(). > To determine requirements we must look at the worst case. In this case > this is reassignment of the interface right after disconnect(). > The interface belongs to another driver now. The old driver must not > do any IO to the device. > > So it seems to me that the only thing you may do with a reference > is not waiting for the completion handlers to run after you know that > an asynchronous unlink was successful. > On the other hand for 2.4 you need the waiting logic in the __exit > path anyway. > > So in practice disconnect() means a cold, hard stop using that device.
Is that really to be expected? How often do admins change device drivers? In 99% of the cases, there's only one device driver. However, in the cases that I can see using a reference past disconnect(), an application still has a device open. In that case, the module usage count is already > 0, preventing module unloading. JE ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
