From 3ce6f213043df07d64e61c42c1079223bac1c622 Mon Sep 17 00:00:00 2001 From: Thomas Huehn Date: Wed, 11 Jul 2012 13:21:41 +0200 Subject: [PATCH] --- yaml --- r: 315631 b: refs/heads/master c: 89e1180121f281af16855d4954b9fe3d7354fe73 h: refs/heads/master i: 315629: cd09dc2ccc7fc0a96280f5fd637b6494dc791266 315627: ac40c588153af71439a10c2d997c91766470db1b 315623: 67465ae573fbfe9560a8eff491b724a0635b957a 315615: 0f77f84ba0a4a468ef533167f40bad3356d0dc49 v: v3 --- [refs] | 2 +- trunk/drivers/net/wireless/mwl8k.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index d71d985936f4..28a925ca4b47 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7c41f3159ca4f04dfc22c791fd96d3d057dcaf90 +refs/heads/master: 89e1180121f281af16855d4954b9fe3d7354fe73 diff --git a/trunk/drivers/net/wireless/mwl8k.c b/trunk/drivers/net/wireless/mwl8k.c index cf7bdc66f822..224e03ade145 100644 --- a/trunk/drivers/net/wireless/mwl8k.c +++ b/trunk/drivers/net/wireless/mwl8k.c @@ -1665,7 +1665,9 @@ mwl8k_txq_reclaim(struct ieee80211_hw *hw, int index, int limit, int force) info = IEEE80211_SKB_CB(skb); if (ieee80211_is_data(wh->frame_control)) { - sta = info->control.sta; + rcu_read_lock(); + sta = ieee80211_find_sta_by_ifaddr(hw, wh->addr1, + wh->addr2); if (sta) { sta_info = MWL8K_STA(sta); BUG_ON(sta_info == NULL); @@ -1682,6 +1684,7 @@ mwl8k_txq_reclaim(struct ieee80211_hw *hw, int index, int limit, int force) sta_info->is_ampdu_allowed = true; } } + rcu_read_unlock(); } ieee80211_tx_info_clear_status(info);