git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge ssh://master.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
[pandora-kernel.git]
/
net
/
mac80211
/
status.c
diff --git
a/net/mac80211/status.c
b/net/mac80211/status.c
index
ffb0de9
..
010a559
100644
(file)
--- a/
net/mac80211/status.c
+++ b/
net/mac80211/status.c
@@
-327,6
+327,7
@@
void ieee80211_tx_status(struct ieee80211_hw *hw, struct sk_buff *skb)
if (info->flags & IEEE80211_TX_INTFL_NL80211_FRAME_TX) {
struct ieee80211_work *wk;
if (info->flags & IEEE80211_TX_INTFL_NL80211_FRAME_TX) {
struct ieee80211_work *wk;
+ u64 cookie = (unsigned long)skb;
rcu_read_lock();
list_for_each_entry_rcu(wk, &local->work_list, list) {
rcu_read_lock();
list_for_each_entry_rcu(wk, &local->work_list, list) {
@@
-338,8
+339,12
@@
void ieee80211_tx_status(struct ieee80211_hw *hw, struct sk_buff *skb)
break;
}
rcu_read_unlock();
break;
}
rcu_read_unlock();
+ if (local->hw_roc_skb_for_status == skb) {
+ cookie = local->hw_roc_cookie ^ 2;
+ local->hw_roc_skb_for_status = NULL;
+ }
cfg80211_mgmt_tx_status(
cfg80211_mgmt_tx_status(
- skb->dev,
(unsigned long) skb
, skb->data, skb->len,
+ skb->dev,
cookie
, skb->data, skb->len,
!!(info->flags & IEEE80211_TX_STAT_ACK), GFP_ATOMIC);
}
!!(info->flags & IEEE80211_TX_STAT_ACK), GFP_ATOMIC);
}