2003-08-14 14:35:11

by Urs Thuermann

[permalink] [raw]
Subject: 2.4.22-rc, IDE: cannot unload piix module

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


2003-08-14 15:09:37

by Alan

[permalink] [raw]
Subject: Re: 2.4.22-rc, IDE: cannot unload piix module

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