UEVENT not generated when removing PCMCIA pc card
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Invalid
|
Undecided
|
Unassigned |
Bug Description
On (K)ubuntu 7.10 a UEVENT is not generated by the kernel when a PCMCIA PC card is removed from the system:
$ sudo udevmonitor
udevmonitor will print the received events for:
UDEV the event which udev sends out after rule processing
UEVENT the kernel uevent
UEVENT[
UDEV [1194953228.959397] add /devices/
UDEV [1194953230.598672] remove /devices/
UEVENT[
UDEV [1194953233.508582] add /devices/
UDEV [1194953234.972943] remove /devices/
UEVENT[
UDEV [1194953237.867551] add /devices/
UDEV [1194953239.028915] remove /devices/
UEVENT[
UDEV [1194953241.753107] add /devices/
UEVENT[
UDEV [1194953243.326690] remove /devices/
UEVENT[
UDEV [1194953246.443285] add /devices/
UDEV [1194953247.602263] remove /devices/
UEVENT[
UDEV [1194953250.035555] add /devices/
UDEV [1194953251.129067] remove /devices/
UEVENT[
UDEV [1194953253.579552] add /devices/
UDEV [1194953254.633208] remove /devices/
Actually, from the code above you can see that one of the removals did in fact trigger the proper UEVENT, but usually this does not happen and this behaviour breaks programs which depend on D-BUS for HW detection.
I've checked this behaviour against (K)ubuntu 6.10 LTS, and it correctly generates a UEVENT for each removal. So this is definately a problem with the 2.6.22 kernel used in (K)ubuntu 7.10.
This is the same activity performed on Kubuntu 6.10 LTS:
udevmonitor prints the received event from the kernel [UEVENT]
and the event which udev sends out after rule processing [UDEV]
UEVENT[ 1194955803. 201066] add@/devices/ pci0000: 00/0000: 00:1e.0/ 0000:05: 04.1/1. 0 pci0000: 00/0000: 00:1e.0/ 0000:05: 04.1/1. 0 1194955804. 801254] remove@ /devices/ pci0000: 00/0000: 00:1e.0/ 0000:05: 04.1/1. 0 /devices/ pci0000: 00/0000: 00:1e.0/ 0000:05: 04.1/1. 0 1194955807. 657327] add@/devices/ pci0000: 00/0000: 00:1e.0/ 0000:05: 04.1/1. 0 pci0000: 00/0000: 00:1e.0/ 0000:05: 04.1/1. 0 1194955808. 583364] remove@ /devices/ pci0000: 00/0000: 00:1e.0/ 0000:05: 04.1/1. 0 /devices/ pci0000: 00/0000: 00:1e.0/ 0000:05: 04.1/1. 0 1194955811. 209548] add@/devices/ pci0000: 00/0000: 00:1e.0/ 0000:05: 04.1/1. 0 pci0000: 00/0000: 00:1e.0/ 0000:05: 04.1/1. 0 1194955811. 764918] remove@ /devices/ pci0000: 00/0000: 00:1e.0/ 0000:05: 04.1/1. 0 /devices/ pci0000: 00/0000: 00:1e.0/ 0000:05: 04.1/1. 0
UDEV [1194955803.235275] add@/devices/
UEVENT[
UDEV [1194955804.802018] remove@
UEVENT[
UDEV [1194955807.691431] add@/devices/
UEVENT[
UDEV [1194955808.584129] remove@
UEVENT[
UDEV [1194955811.244305] add@/devices/
UEVENT[
UDEV [1194955811.765911] remove@