Red Hat Bugzilla – Bug 154291
kernel gets wedged when removing airo module while in use
Last modified: 2015-01-04 17:18:41 EST
This sounds like a "don't do that then" but it happens in real situations with
So the simple reproducer is:
- bring up eth0 which is a wireless airo
- "rmmod airo"
- hangs with "unregister_netdevice: waiting for usage count to be 0"
- all network-related processes are now locked up, so you can't
do anything to bring the usage count to 0
- you can't kill any of the network-related processes
- you have to reboot afaict
If you do the rmmod after an "ifdown eth0" then it works fine.
The reason this happens with NetworkManager is basically:
- across suspend/resume the airo driver gets confused out of its mind
- without NetworkManager you can work around this by "ifdown eth0; rmmod airo;
- with NetworkManager you can't do the "ifdown" part of the workaround so it
would be convenient if "rmmod airo" worked with the interface still up,
or "rmmod airo; killall NetworkManager" worked
There are probably better fixes, like:
- have the airo driver not get confused when you suspend
- have NetworkManager bring down the interface on suspend
Anyway, something is hosed, feel free to bounce this buck around ;-)
I fixed a bug last week which caused 1 file descriptor to get leaked every DHCP transaction on the
device. That might have been the problem.
Also note that if you send NM the "sleep" message, it will shut down all devices and essentially "ifdown"
them. If you send it "awake", it will re-enable them and find a new connection. You have to add it to
your suspend/resume scripts, because nothing in the system broadcasts shutdown/wake events or
still a problem with latest errata ?
Most likely a firmware issue, should update to 5.60.08 or later.