After loading the module piix.o for some Intel IDE chips, the usage
count is 1 even if the module isn't used, so the module cannot be
unloaded.
I think this is because of the following code in
linux/drivers/ide/pci/piix.c:
/**
* piix_init_one - called when a PIIX is found
* @dev: the piix device
* @id: the matching pci id
*
* Called when the PCI registration layer (or the IDE initialization)
* finds a device matching our IDE device tables.
*/
static int __devinit piix_init_one(struct pci_dev *dev, const struct pci_device_id *id)
{
ide_pci_device_t *d = &piix_pci_info[id->driver_data];
if (dev->device != d->device)
BUG();
d->init_setup(dev, d);
MOD_INC_USE_COUNT;
return 0;
}
But there is no MOD_DEC_USE_COUNT anywhere. Is that intended?
urs
On Iau, 2003-08-14 at 15:33, Urs Thuermann wrote:
> After loading the module piix.o for some Intel IDE chips, the usage
> count is 1 even if the module isn't used, so the module cannot be
> unloaded.
The 2.4.x IDE doesnt support modular unload