On Thu, 1 Apr 2004, Benjamin Herrenschmidt wrote: > > But that is impossible as has already been pointed out by Alan Stern. > > If a module creates a kobject, how can the module_exit() function ever > > be called if that kobject incremented the module reference count? > > I just had a loooong discussion with Rusty on that subject, it's > indeed a nasty one. The problem is that the real solution is to > change the module unload semantics. Regardless of the count, module > exit should be called, and the actual unload (and eventually calling > an additional module "release" function) then should only happen > once the count is down to 0. That means that rmmod would block forever > if the driver is opened, but that is just something that needs to be > known. > > But that's not something we'll do for 2.6. For that to work, it also > need various subsystem unregister_* (netdev etc...) functions to not > error when the device is opened, just prevent new opens, and operate > asynchronously (freeing data structures on kobject release) etc...
There was another lengthy discussion about this back in January. Read these threads: http://marc.theaimsgroup.com/?t=107487731800002&r=1&w=2 http://marc.theaimsgroup.com/?t=107509479200002&r=1&w=2 Lots of back-and-forth, but Linus was basically against the idea. For now at least. Alan Stern ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
