This sounds like a "don't do that then" but it happens in real situations with networkmanager 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; ifup eth0" - 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 ;-) Thanks
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 anything.
still a problem with latest errata ?
Most likely a firmware issue, should update to 5.60.08 or later.