From: Felix Fietkau Date: Thu, 24 Sep 2015 12:59:48 +0000 (+0200) Subject: mac80211: fix tx sequence number assignment with software queue + fast-xmit X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=50f36ae61a5b65ba4612a5d2aa696c8ac5b6c988;p=linux-beck.git mac80211: fix tx sequence number assignment with software queue + fast-xmit When using software queueing, tx sequence number assignment happens at ieee80211_tx_dequeue time, so the fast-xmit codepath must not do that. Signed-off-by: Felix Fietkau Signed-off-by: Johannes Berg --- diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c index 73540723be37..464ba1a625bd 100644 --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c @@ -2767,7 +2767,8 @@ static bool ieee80211_xmit_fast(struct ieee80211_sub_if_data *sdata, if (hdr->frame_control & cpu_to_le16(IEEE80211_STYPE_QOS_DATA)) { *ieee80211_get_qos_ctl(hdr) = tid; - hdr->seq_ctrl = ieee80211_tx_next_seq(sta, tid); + if (!sta->sta.txq[0]) + hdr->seq_ctrl = ieee80211_tx_next_seq(sta, tid); } else { info->flags |= IEEE80211_TX_CTL_ASSIGN_SEQ; hdr->seq_ctrl = cpu_to_le16(sdata->sequence_number);