mac80211: request TX status for BlockAck Requests
authorChristian Lamparter <chunkeey@googlemail.com>
Sat, 7 Jul 2012 13:13:08 +0000 (15:13 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Sat, 7 Jul 2012 19:35:42 +0000 (21:35 +0200)
Because ieee80211_tx_status in status.c checks if
outgoing BlockAck requests have been acked, it is
necessary to tell the driver that tx feedback for
this sort of frame is important.

Otherwise, the stack will continue to send the same
BlockAck request over and over, which can cause
the receiver to flush or clean its reorder buffer
over and over.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/agg-tx.c

index 5cc1bf7d803336619a39f7e2e7370829db6aa230..d0deb3edae21fe4a1fc3cbbc7773e742945197f4 100644 (file)
@@ -135,7 +135,8 @@ void ieee80211_send_bar(struct ieee80211_vif *vif, u8 *ra, u16 tid, u16 ssn)
        bar->control = cpu_to_le16(bar_control);
        bar->start_seq_num = cpu_to_le16(ssn);
 
-       IEEE80211_SKB_CB(skb)->flags |= IEEE80211_TX_INTFL_DONT_ENCRYPT;
+       IEEE80211_SKB_CB(skb)->flags |= IEEE80211_TX_INTFL_DONT_ENCRYPT |
+                                       IEEE80211_TX_CTL_REQ_TX_STATUS;
        ieee80211_tx_skb_tid(sdata, skb, tid);
 }
 EXPORT_SYMBOL(ieee80211_send_bar);
This page took 0.025444 seconds and 5 git commands to generate.