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

Reply via email to