Re: AGP module removal impossible ?

2005-03-14 Thread Dave Jones
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 [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


AGP module removal impossible ?

2005-03-14 Thread Brice Goglin
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 :)
Regards,
Brice Goglin
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/