mac80211: rt2x00: import upstream changes and rebase our patches
[openwrt/openwrt.git] / package / kernel / mac80211 / patches / 020-13-rt2x00-fixup-fill_tx_status-for-nomatch-case.patch
1 From ec80ad70d778af7665992672896633ebd3b02ac8 Mon Sep 17 00:00:00 2001
2 From: Stanislaw Gruszka <sgruszka@redhat.com>
3 Date: Wed, 15 Feb 2017 10:25:09 +0100
4 Subject: [PATCH 13/19] rt2x00: fixup fill_tx_status for nomatch case
5
6 Add bits rt2x00lib_fill_tx_status() when filling status in nomatch
7 case and hopefully do not break the function for existing cases.
8
9 Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
10 Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
11 ---
12 drivers/net/wireless/ralink/rt2x00/rt2x00dev.c | 6 +++++-
13 drivers/net/wireless/ralink/rt2x00/rt2x00queue.h | 1 +
14 2 files changed, 6 insertions(+), 1 deletion(-)
15
16 diff --git a/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c b/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c
17 index 90fc259fb5bc..e95d2aad3b3f 100644
18 --- a/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c
19 +++ b/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c
20 @@ -357,6 +357,9 @@ static void rt2x00lib_fill_tx_status(struct rt2x00_dev *rt2x00dev,
21 if (i < (IEEE80211_TX_MAX_RATES - 1))
22 tx_info->status.rates[i].idx = -1; /* terminate */
23
24 + if (test_bit(TXDONE_NO_ACK_REQ, &txdesc->flags))
25 + tx_info->flags |= IEEE80211_TX_CTL_NO_ACK;
26 +
27 if (!(tx_info->flags & IEEE80211_TX_CTL_NO_ACK)) {
28 if (success)
29 tx_info->flags |= IEEE80211_TX_STAT_ACK;
30 @@ -375,7 +378,8 @@ static void rt2x00lib_fill_tx_status(struct rt2x00_dev *rt2x00dev,
31 */
32 if (test_bit(TXDONE_AMPDU, &txdesc->flags) ||
33 tx_info->flags & IEEE80211_TX_CTL_AMPDU) {
34 - tx_info->flags |= IEEE80211_TX_STAT_AMPDU;
35 + tx_info->flags |= IEEE80211_TX_STAT_AMPDU |
36 + IEEE80211_TX_CTL_AMPDU;
37 tx_info->status.ampdu_len = 1;
38 tx_info->status.ampdu_ack_len = success ? 1 : 0;
39
40 diff --git a/drivers/net/wireless/ralink/rt2x00/rt2x00queue.h b/drivers/net/wireless/ralink/rt2x00/rt2x00queue.h
41 index 9b297fce4692..c78fb8c8838a 100644
42 --- a/drivers/net/wireless/ralink/rt2x00/rt2x00queue.h
43 +++ b/drivers/net/wireless/ralink/rt2x00/rt2x00queue.h
44 @@ -215,6 +215,7 @@ enum txdone_entry_desc_flags {
45 TXDONE_FAILURE,
46 TXDONE_EXCESSIVE_RETRY,
47 TXDONE_AMPDU,
48 + TXDONE_NO_ACK_REQ,
49 };
50
51 /**
52 --
53 2.12.1
54