diff options
Diffstat (limited to 'net/mac80211/status.c')
-rw-r--r-- | net/mac80211/status.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/net/mac80211/status.c b/net/mac80211/status.c index 010a559bd872..b936dd29e92b 100644 --- a/net/mac80211/status.c +++ b/net/mac80211/status.c | |||
@@ -318,8 +318,6 @@ void ieee80211_tx_status(struct ieee80211_hw *hw, struct sk_buff *skb) | |||
318 | if (info->flags & IEEE80211_TX_STAT_ACK) { | 318 | if (info->flags & IEEE80211_TX_STAT_ACK) { |
319 | local->ps_sdata->u.mgd.flags |= | 319 | local->ps_sdata->u.mgd.flags |= |
320 | IEEE80211_STA_NULLFUNC_ACKED; | 320 | IEEE80211_STA_NULLFUNC_ACKED; |
321 | ieee80211_queue_work(&local->hw, | ||
322 | &local->dynamic_ps_enable_work); | ||
323 | } else | 321 | } else |
324 | mod_timer(&local->dynamic_ps_timer, jiffies + | 322 | mod_timer(&local->dynamic_ps_timer, jiffies + |
325 | msecs_to_jiffies(10)); | 323 | msecs_to_jiffies(10)); |
@@ -343,6 +341,10 @@ void ieee80211_tx_status(struct ieee80211_hw *hw, struct sk_buff *skb) | |||
343 | cookie = local->hw_roc_cookie ^ 2; | 341 | cookie = local->hw_roc_cookie ^ 2; |
344 | local->hw_roc_skb_for_status = NULL; | 342 | local->hw_roc_skb_for_status = NULL; |
345 | } | 343 | } |
344 | |||
345 | if (cookie == local->hw_offchan_tx_cookie) | ||
346 | local->hw_offchan_tx_cookie = 0; | ||
347 | |||
346 | cfg80211_mgmt_tx_status( | 348 | cfg80211_mgmt_tx_status( |
347 | skb->dev, cookie, skb->data, skb->len, | 349 | skb->dev, cookie, skb->data, skb->len, |
348 | !!(info->flags & IEEE80211_TX_STAT_ACK), GFP_ATOMIC); | 350 | !!(info->flags & IEEE80211_TX_STAT_ACK), GFP_ATOMIC); |