projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
35dd050
)
iwlwifi: add missing rcu_read_lock
author
Johannes Berg
<
[email protected]
>
Mon, 7 Jun 2010 19:20:38 +0000
(21:20 +0200)
committer
John W. Linville
<
[email protected]
>
Tue, 8 Jun 2010 18:34:08 +0000
(14:34 -0400)
Using ieee80211_find_sta() needs to be under
RCU read lock, which iwlwifi currently misses,
so fix it.
Cc:
[email protected]
Reported-by: Miles Lane <
[email protected]
>
Signed-off-by: Johannes Berg <
[email protected]
>
Acked-by: Reinette Chatre <
[email protected]
>
Tested-by: Miles Lane <
[email protected]
>
Signed-off-by: John W. Linville <
[email protected]
>
drivers/net/wireless/iwlwifi/iwl-agn-tx.c
patch
|
blob
|
history
diff --git
a/drivers/net/wireless/iwlwifi/iwl-agn-tx.c
b/drivers/net/wireless/iwlwifi/iwl-agn-tx.c
index c402bfc83f36360358ebeef3ab1fe4cbeeb863e4..a732f1094e5d3a983a102d7afe3038eddc2eb6a2 100644
(file)
--- 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)
struct ieee80211_sta *sta;
struct iwl_station_priv *sta_priv;
+ rcu_read_lock();
sta = ieee80211_find_sta(priv->vif, hdr->addr1);
if (sta) {
sta_priv = (void *)sta->drv_priv;
@@
-1133,6
+1134,7
@@
static void iwlagn_tx_status(struct iwl_priv *priv, struct sk_buff *skb)
atomic_dec_return(&sta_priv->pending_frames) == 0)
ieee80211_sta_block_awake(priv->hw, sta, false);
}
+ rcu_read_unlock();
ieee80211_tx_status_irqsafe(priv->hw, skb);
}