mac80211: fix missing sta_lock in __sta_info_destroy
commit 4bae7d976976fa52d345805ba686934cd548343e upstream.
Since my commit 34e895075e
("mac80211: allow station add/remove to sleep") there is
a race in mac80211 when it clears the TIM bit because a
sleeping station disconnected, the spinlock isn't held
around the relevant code any more. Use the right API to
acquire the spinlock correctly.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
377a4a241c
commit
e74aa3593a
@@ -669,7 +669,7 @@ static int __must_check __sta_info_destroy(struct sta_info *sta)
|
||||
BUG_ON(!sdata->bss);
|
||||
|
||||
atomic_dec(&sdata->bss->num_sta_ps);
|
||||
__sta_info_clear_tim_bit(sdata->bss, sta);
|
||||
sta_info_clear_tim_bit(sta);
|
||||
}
|
||||
|
||||
local->num_sta--;
|
||||
|
||||
Reference in New Issue
Block a user