On Tue, Feb 25, 2003, Oliver Neukum <[EMAIL PROTECTED]> wrote: > > > > 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.
You mean changing the configuration on a device? Right now there is no policy whatsoever about how that is supposed to work safely. As a result, I think it's premature to say that it's moot and has to work. That may be true in the end, but I think we need to figure out all of the rest of the issues before we set anything in stone. Did you have a proposal for a contract about changing configurations? > > 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. I don't quite understand your comment, 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
