Re: AGP module removal impossible ?

From: Dave Jones
Date: Mon Mar 14 2005 - 20:09:11 EST


On Tue, Mar 15, 2005 at 12:28:51AM +0100, Brice Goglin wrote:
> Hi Dave,
>
> I can't remove the AGP chipset module on my boxes.
> Looks like the AGP chipset driver holds a reference on itself and
> thus makes removal impossible.
>
> From what I understand, as soon as intel_agp is loaded, agp_intel_probe
> is called. It gets a reference on intel_agp module through
> !try_module_get(bridge->driver->owner) in agp_add_bridge.
> Then this reference can only be released through module_put in
> agp_remove_bridge which is called agp_intel_remove which is only called
> when removing the module.
>
> Thus it looks impossible to remove this module at all.
> And I think the problem occurs with all other AGP chipset drivers.
>
> I hope the reason is not just that module removal support is not important
> in 2.6 :) It looks strange to implement a module removal routine if we
> know it can't be used :)

The locking is screwed up and has been for some time.
I've been meaning to take a look at it for a while, but keep finding
more important things to do. It should be fixed to lock/unlock when
the device is opened, as it was in 2.4

Dave

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/