> > 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.
The same is true for configuration changes. Anyway the point is moot.
It's a legal operation. Therefore it has to work.
> 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.
Entirely possible. But not guaranteed.
Regards
Oliver
-------------------------------------------------------
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