]> Git Repo - linux.git/commit
cfg80211: fix deadlock
authorJohannes Berg <[email protected]>
Mon, 17 Aug 2009 10:25:37 +0000 (12:25 +0200)
committerJohn W. Linville <[email protected]>
Thu, 20 Aug 2009 15:35:56 +0000 (11:35 -0400)
commit0ff6ce7b36199f67f709c750e9a2a66659a4babe
tree3b023b960e010b7ce84d35d8e9b516f5cb285f77
parent96909e97716de1d86e6e24d6aabce09980372771
cfg80211: fix deadlock

When removing an interface with nl80211, cfg80211 will
deadlock in the netdev notifier because we're already
holding rdev->mtx and try to acquire it again to verify
the scan has been done.

This bug was introduced by my patch
"cfg80211: check for and abort dangling scan requests".

To fix this, move the dangling scan request check into
wiphy_unregister(). This will not be able to catch all
cases right away, but if the scan problem happens with
a manual ifdown or so it will be possible to remedy it
by removing the module/device.

Additionally, add comments about the deadlock scenario.

Reported-by: Christian Lamparter <[email protected]>
Signed-off-by: Johannes Berg <[email protected]>
Tested-by: Christian Lamparter <[email protected]>
Tested-by: Kalle Valo <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
net/wireless/core.c
This page took 0.056852 seconds and 4 git commands to generate.