From cd12b9dd89aebe4a1a4db6502a471c6bcdc6d3b2 Mon Sep 17 00:00:00 2001 From: Helmut Schaa Date: Fri, 27 Jan 2012 11:02:53 +0100 Subject: [PATCH] --- yaml --- r: 290009 b: refs/heads/master c: 4f3eb0ba4817e55e1b5b2f63fcf3f266c328fc1a h: refs/heads/master i: 290007: 4448f27774a8a027faac3d69f7059b1f3924a475 v: v3 --- [refs] | 2 +- trunk/net/mac80211/sta_info.c | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/[refs] b/[refs] index 6e7f786aa2fe..b7fda064a03c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 19468413e8d98d44be8daf0acaf8d576dfc53fa2 +refs/heads/master: 4f3eb0ba4817e55e1b5b2f63fcf3f266c328fc1a diff --git a/trunk/net/mac80211/sta_info.c b/trunk/net/mac80211/sta_info.c index 1fb4770a7d13..fa0823892b2d 100644 --- a/trunk/net/mac80211/sta_info.c +++ b/trunk/net/mac80211/sta_info.c @@ -750,15 +750,6 @@ int __must_check __sta_info_destroy(struct sta_info *sta) sta->dead = true; - if (test_sta_flag(sta, WLAN_STA_PS_STA)) { - BUG_ON(!sdata->bss); - - clear_sta_flag(sta, WLAN_STA_PS_STA); - - atomic_dec(&sdata->bss->num_sta_ps); - sta_info_recalc_tim(sta); - } - local->num_sta--; local->sta_generation++; @@ -790,6 +781,15 @@ int __must_check __sta_info_destroy(struct sta_info *sta) */ synchronize_rcu(); + if (test_sta_flag(sta, WLAN_STA_PS_STA)) { + BUG_ON(!sdata->bss); + + clear_sta_flag(sta, WLAN_STA_PS_STA); + + atomic_dec(&sdata->bss->num_sta_ps); + sta_info_recalc_tim(sta); + } + for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) { local->total_ps_buffered -= skb_queue_len(&sta->ps_tx_buf[ac]); __skb_queue_purge(&sta->ps_tx_buf[ac]);