Messages in this thread | | | Date | Sun, 03 Dec 2006 12:20:47 +0100 | From | Tomasz Chmielewski <> | Subject | why can't I remove a kernel module (or: what uses a given module)? |
| |
There is something I don't understand about loading and unloading kernel modules.
I have a SATA controller, it uses a sata_mv driver. The drive connected to it is not used; it just "merely exists" - no one touches it. This is why I don't understand why I can't remove such a module:
1.
# rmmod sata_mv ERROR: Module sata_mv is in use
The module was loaded automatically during the system boot.
mount claims no /dev/sda* partition is mounted.
2.
In a second scenario, I move the kernel:
# mv /lib/modules/2.6.19/kernel/drivers/ata/sata_mv.ko /root # reboot
And load it later manually:
# insmod ./sata_mv # dmesg -c sata_mv 0000:01:00.0: version 0.7 ACPI: PCI Interrupt 0000:01:00.0[A] -> GSI 20 (level, low) -> IRQ 23 (...) SCSI device sda: drive cache: write back sda: sda1 sd 24:0:0:0: Attached scsi disk sda
We can remove the module without problems:
# rmmod sata_mv # dmesg -c Synchronizing SCSI cache for disk sda: ACPI: PCI interrupt for device 0000:01:00.0 disabled
Now I could remove the module without problems.
What was using the module in the first scenario (I couldn't remove the module)?
-- Tomasz Chmielewski http://wpkg.org - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |