aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/tx.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211/tx.c')
-rw-r--r--net/mac80211/tx.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index 7699e666457f..ae5dd85f1e93 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -804,6 +804,9 @@ ieee80211_tx_h_sequence(struct ieee80211_tx_data *tx)
804 if (ieee80211_hdrlen(hdr->frame_control) < 24) 804 if (ieee80211_hdrlen(hdr->frame_control) < 24)
805 return TX_CONTINUE; 805 return TX_CONTINUE;
806 806
807 if (ieee80211_is_qos_nullfunc(hdr->frame_control))
808 return TX_CONTINUE;
809
807 /* 810 /*
808 * Anything but QoS data that has a sequence number field 811 * Anything but QoS data that has a sequence number field
809 * (is long enough) gets a sequence number from the global 812 * (is long enough) gets a sequence number from the global
@@ -1236,6 +1239,7 @@ ieee80211_tx_prepare(struct ieee80211_sub_if_data *sdata,
1236 tx->sta = sta_info_get(sdata, hdr->addr1); 1239 tx->sta = sta_info_get(sdata, hdr->addr1);
1237 1240
1238 if (tx->sta && ieee80211_is_data_qos(hdr->frame_control) && 1241 if (tx->sta && ieee80211_is_data_qos(hdr->frame_control) &&
1242 !ieee80211_is_qos_nullfunc(hdr->frame_control) &&
1239 (local->hw.flags & IEEE80211_HW_AMPDU_AGGREGATION) && 1243 (local->hw.flags & IEEE80211_HW_AMPDU_AGGREGATION) &&
1240 !(local->hw.flags & IEEE80211_HW_TX_AMPDU_SETUP_IN_HW)) { 1244 !(local->hw.flags & IEEE80211_HW_TX_AMPDU_SETUP_IN_HW)) {
1241 struct tid_ampdu_tx *tid_tx; 1245 struct tid_ampdu_tx *tid_tx;