diff options
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-agn-tx.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn-tx.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-tx.c b/drivers/net/wireless/iwlwifi/iwl-agn-tx.c index c402bfc83f36..a732f1094e5d 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn-tx.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn-tx.c | |||
@@ -1125,6 +1125,7 @@ static void iwlagn_tx_status(struct iwl_priv *priv, struct sk_buff *skb) | |||
1125 | struct ieee80211_sta *sta; | 1125 | struct ieee80211_sta *sta; |
1126 | struct iwl_station_priv *sta_priv; | 1126 | struct iwl_station_priv *sta_priv; |
1127 | 1127 | ||
1128 | rcu_read_lock(); | ||
1128 | sta = ieee80211_find_sta(priv->vif, hdr->addr1); | 1129 | sta = ieee80211_find_sta(priv->vif, hdr->addr1); |
1129 | if (sta) { | 1130 | if (sta) { |
1130 | sta_priv = (void *)sta->drv_priv; | 1131 | sta_priv = (void *)sta->drv_priv; |
@@ -1133,6 +1134,7 @@ static void iwlagn_tx_status(struct iwl_priv *priv, struct sk_buff *skb) | |||
1133 | atomic_dec_return(&sta_priv->pending_frames) == 0) | 1134 | atomic_dec_return(&sta_priv->pending_frames) == 0) |
1134 | ieee80211_sta_block_awake(priv->hw, sta, false); | 1135 | ieee80211_sta_block_awake(priv->hw, sta, false); |
1135 | } | 1136 | } |
1137 | rcu_read_unlock(); | ||
1136 | 1138 | ||
1137 | ieee80211_tx_status_irqsafe(priv->hw, skb); | 1139 | ieee80211_tx_status_irqsafe(priv->hw, skb); |
1138 | } | 1140 | } |