lkml.org 
[lkml]   [2005]   [Dec]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: 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/

\
 
 \ /
  Last update: 2005-12-15 21:56    [W:0.069 / U:0.296 seconds]
©2003-2014 Jasper Spaans. Advertise on this site