why can't I remove a kernel module (or: what uses a given module)?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux