relayd: update to the latest version, fixes some issues found by Coverity
[openwrt/svn-archive/archive.git] / package / kernel / mac80211 / patches / 334-mac80211-fix-tx-sequence-number-assignment-with-soft.patch
1 From: Felix Fietkau <nbd@openwrt.org>
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
6 When using software queueing, tx sequence number assignment happens at
7 ieee80211_tx_dequeue time, so the fast-xmit codepath must not do that.
8
9 Signed-off-by: Felix Fietkau <nbd@openwrt.org>
10 ---
11
12 --- a/net/mac80211/tx.c
13 +++ b/net/mac80211/tx.c
14 @@ -2766,7 +2766,8 @@ static bool ieee80211_xmit_fast(struct i
15
16 if (hdr->frame_control & cpu_to_le16(IEEE80211_STYPE_QOS_DATA)) {
17 *ieee80211_get_qos_ctl(hdr) = tid;
18 - hdr->seq_ctrl = ieee80211_tx_next_seq(sta, tid);
19 + if (!sta->sta.txq[0])
20 + hdr->seq_ctrl = ieee80211_tx_next_seq(sta, tid);
21 } else {
22 info->flags |= IEEE80211_TX_CTL_ASSIGN_SEQ;
23 hdr->seq_ctrl = cpu_to_le16(sdata->sequence_number);