cfg80211: Fix mutex locking in reg_last_request_cell_base

should fix the following issue

	[ 3229.815012] [ BUG: lock held when returning to user space! ]
	[ 3229.815016] 3.5.0-rc7-wl #28 Tainted: G        W  O
	[ 3229.815017]
	------------------------------------------------
	[ 3229.815019] wpa_supplicant/5783 is leaving the kernel with locks still held!
	[ 3229.815022] 1 lock held by wpa_supplicant/5783:
	[ 3229.815023]  #0: (reg_mutex){+.+.+.}, at: [<fa65834d>]
	reg_last_request_cell_base+0x1d/0x60 [cfg80211]

Cc: Luis Rodriguez <mcgrof@gmail.com>
Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
Tested-by: Luciano Coelho <coelho@ti.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Mohammed Shafi Shajakhan 2012-07-18 18:11:29 +05:30 committed by Johannes Berg
parent 88bc40e8c3
commit ebd0fd2b1a
1 changed files with 3 additions and 1 deletions

View File

@ -929,11 +929,13 @@ static bool reg_request_cell_base(struct regulatory_request *request)
bool reg_last_request_cell_base(void) bool reg_last_request_cell_base(void)
{ {
bool val;
assert_cfg80211_lock(); assert_cfg80211_lock();
mutex_lock(&reg_mutex); mutex_lock(&reg_mutex);
return reg_request_cell_base(last_request); val = reg_request_cell_base(last_request);
mutex_unlock(&reg_mutex); mutex_unlock(&reg_mutex);
return val;
} }
#ifdef CONFIG_CFG80211_CERTIFICATION_ONUS #ifdef CONFIG_CFG80211_CERTIFICATION_ONUS