linux/net/wireless
Johannes Berg 2f0accc135 cfg80211: fix rfkill locking problem
rfkill currently requires a global lock within the
rfkill_register() function, and holds that lock over
calls to the set_block() methods. This means that we
cannot hold a lock around rfkill_register() that we
also require in set_block(), directly or indirectly.
Fix cfg80211 to register rfkill outside the block
locked by its global lock. Much of what cfg80211 does
in the locked block doesn't need to be locked anyway.

Reported-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-06-10 13:28:41 -04:00
..
core.c cfg80211: fix rfkill locking problem 2009-06-10 13:28:41 -04:00
core.h cfg80211: add rfkill support 2009-06-03 14:06:14 -04:00
debugfs.c
debugfs.h
ibss.c
Kconfig cfg80211: add rfkill support 2009-06-03 14:06:14 -04:00
lib80211.c
lib80211_crypt_ccmp.c
lib80211_crypt_tkip.c
lib80211_crypt_wep.c
Makefile
mlme.c
nl80211.c
nl80211.h
radiotap.c
reg.c cfg80211: fix for duplicate response for driver reg request 2009-06-10 13:28:37 -04:00
reg.h
scan.c
sysfs.c
sysfs.h
util.c cfg80211: make ieee80211_get_mesh_hdrlen() static 2009-06-03 14:06:15 -04:00
wext-compat.c cfg80211: add rfkill support 2009-06-03 14:06:14 -04:00
wext.c