Commit 4bae7d97 authored by Johannes Berg's avatar Johannes Berg Committed by John W. Linville

mac80211: fix missing sta_lock in __sta_info_destroy

Since my commit 34e89507
("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.

Cc: stable@kernel.org [2.6.34+]
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent bac2555c
...@@ -665,7 +665,7 @@ static int __must_check __sta_info_destroy(struct sta_info *sta) ...@@ -665,7 +665,7 @@ static int __must_check __sta_info_destroy(struct sta_info *sta)
BUG_ON(!sdata->bss); BUG_ON(!sdata->bss);
atomic_dec(&sdata->bss->num_sta_ps); atomic_dec(&sdata->bss->num_sta_ps);
__sta_info_clear_tim_bit(sdata->bss, sta); sta_info_clear_tim_bit(sta);
} }
local->num_sta--; local->num_sta--;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment