Messages in this thread |  | | | Date | Thu, 15 Dec 2005 15:52:21 -0500 | | From | Dave Jones <> | | Subject | Re: agpgart.ko can't be unloaded |
| |
On Thu, Dec 15, 2005 at 09:19:10PM +0100, Krzysztof Halasa wrote: > Hi, > > I recently noticed that agpgart.ko (and corresponding hardware driver) > can't be unloaded: > > Module Size Used by > intel_agp 19228 1 > agpgart 27592 1 intel_agp > > The same is true for via_agp and probably for all other drivers. > > The problem is agpgart increases reference count of hw driver > to prevent it from being unloaded, and the hw driver references > agpgart so agpgart can't be unloaded either. > > Should agpgart be split into 2 parts, one (which would have to be unloaded > first) managing the thing and the other - the library referenced by > hw drivers?
the reference on the chipset driver should only be bumped when /dev/agpgart is open()'d, but currently that isn't the case.
> I wouldn't write about this but there is code to unload them so I think > it's not intentional.
The reference counting has been horked since the 'new' module loader appeared[*], and never got fixed as I've nearly always found something more important to work on, and it's not really a problem for 99% of users. If someone found the time to write a patch to make it do the right thing though, I'd be happy to merge it as long as it's done correctly.
Dave
[*] In fact, my first attempt at fixing it way back then may have even made the problem worse. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |