cfg80211: vastly simplify locking
authorJohannes Berg <johannes.berg@intel.com>
Wed, 8 May 2013 19:45:15 +0000 (21:45 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 24 May 2013 22:02:15 +0000 (00:02 +0200)
commit5fe231e873729fa2f57cdc417d5c1f80871e2d7d
tree48810991fa4cf4faa69c0a992fdaf962feb6edda
parent73810b77def898b43a97638478692922b7f820eb
cfg80211: vastly simplify locking

Virtually all code paths in cfg80211 already (need to) hold
the RTNL. As such, there's little point in having another
four mutexes for various parts of the code, they just cause
lock ordering issues (and much of the time, the RTNL and a
few of the others need thus be held.)

Simplify all this by getting rid of the extra four mutexes
and just use the RTNL throughout. Only a few code changes
were needed to do this and we can get rid of a work struct
for bonus points.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
14 files changed:
include/net/cfg80211.h
net/wireless/core.c
net/wireless/core.h
net/wireless/debugfs.c
net/wireless/ibss.c
net/wireless/mesh.c
net/wireless/mlme.c
net/wireless/nl80211.c
net/wireless/reg.c
net/wireless/scan.c
net/wireless/sme.c
net/wireless/util.c
net/wireless/wext-compat.c
net/wireless/wext-sme.c