334-mac80211-fix-tx-sequence-number-assignment-with-soft.patch 829 B

1234567891011121314151617181920212223
  1. From: Felix Fietkau <[email protected]>
  2. Date: Thu, 24 Sep 2015 14:10:07 +0200
  3. Subject: [PATCH] mac80211: fix tx sequence number assignment with software
  4. queue + fast-xmit
  5. When using software queueing, tx sequence number assignment happens at
  6. ieee80211_tx_dequeue time, so the fast-xmit codepath must not do that.
  7. Signed-off-by: Felix Fietkau <[email protected]>
  8. ---
  9. --- a/net/mac80211/tx.c
  10. +++ b/net/mac80211/tx.c
  11. @@ -2766,7 +2766,8 @@ static bool ieee80211_xmit_fast(struct i
  12. if (hdr->frame_control & cpu_to_le16(IEEE80211_STYPE_QOS_DATA)) {
  13. *ieee80211_get_qos_ctl(hdr) = tid;
  14. - hdr->seq_ctrl = ieee80211_tx_next_seq(sta, tid);
  15. + if (!sta->sta.txq[0])
  16. + hdr->seq_ctrl = ieee80211_tx_next_seq(sta, tid);
  17. } else {
  18. info->flags |= IEEE80211_TX_CTL_ASSIGN_SEQ;
  19. hdr->seq_ctrl = cpu_to_le16(sdata->sequence_number);