On Tue, Jul 27, 2004 at 01:07:59PM -0400, Jeff Garzik wrote:
> It looks like pcmica modular ether (example orinoco) can never be manually
> unloaded because module refcount is always 1. This comes from the owner
> field in the pcmcia_driver.owner being set.
Intended behaviour. As long as the driver is bound to a socket, there are
references to the driver, so we need to keep the refcount non-zero.
Once the driver is unbound (by ejecting cards) then the ref count will
drop to zero and the module can be unloaded.
> One fix is to not set owner field but then there is a hot plug/module
> remove race. But the right fix seems to fix up pcmcia to be a true bus
> in the driver model and have the same hotplug as other buses; usb and
> pci don't have the problem.
No, the right fix is not to try to fsck with PCMCIA refcounting - it
isn't up to having drivers randomly unloaded. IOW, it remains 2.4
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 PCMCIA - http://pcmcia.arm.linux.org.uk/
2.6 Serial core