From 399d5cf532bc546a1a15c232fef06d6e9fd90228 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Thu, 30 Mar 2017 18:08:49 +0200 Subject: mac80211: rt2x00: import upstream changes and rebase our patches Some of our local patches have been accepted upstream. And there are some more relevant changes (mostly for rt2800usb). Import them and rebase our remaining local patches on top. Signed-off-by: Daniel Golle --- ...x00-fixup-fill_tx_status-for-nomatch-case.patch | 54 ++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 package/kernel/mac80211/patches/020-13-rt2x00-fixup-fill_tx_status-for-nomatch-case.patch (limited to 'package/kernel/mac80211/patches/020-13-rt2x00-fixup-fill_tx_status-for-nomatch-case.patch') diff --git a/package/kernel/mac80211/patches/020-13-rt2x00-fixup-fill_tx_status-for-nomatch-case.patch b/package/kernel/mac80211/patches/020-13-rt2x00-fixup-fill_tx_status-for-nomatch-case.patch new file mode 100644 index 0000000000..bb35f2d300 --- /dev/null +++ b/package/kernel/mac80211/patches/020-13-rt2x00-fixup-fill_tx_status-for-nomatch-case.patch @@ -0,0 +1,54 @@ +From ec80ad70d778af7665992672896633ebd3b02ac8 Mon Sep 17 00:00:00 2001 +From: Stanislaw Gruszka +Date: Wed, 15 Feb 2017 10:25:09 +0100 +Subject: [PATCH 13/19] rt2x00: fixup fill_tx_status for nomatch case + +Add bits rt2x00lib_fill_tx_status() when filling status in nomatch +case and hopefully do not break the function for existing cases. + +Signed-off-by: Stanislaw Gruszka +Signed-off-by: Kalle Valo +--- + drivers/net/wireless/ralink/rt2x00/rt2x00dev.c | 6 +++++- + drivers/net/wireless/ralink/rt2x00/rt2x00queue.h | 1 + + 2 files changed, 6 insertions(+), 1 deletion(-) + +diff --git a/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c b/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c +index 90fc259fb5bc..e95d2aad3b3f 100644 +--- a/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c ++++ b/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c +@@ -357,6 +357,9 @@ static void rt2x00lib_fill_tx_status(struct rt2x00_dev *rt2x00dev, + if (i < (IEEE80211_TX_MAX_RATES - 1)) + tx_info->status.rates[i].idx = -1; /* terminate */ + ++ if (test_bit(TXDONE_NO_ACK_REQ, &txdesc->flags)) ++ tx_info->flags |= IEEE80211_TX_CTL_NO_ACK; ++ + if (!(tx_info->flags & IEEE80211_TX_CTL_NO_ACK)) { + if (success) + tx_info->flags |= IEEE80211_TX_STAT_ACK; +@@ -375,7 +378,8 @@ static void rt2x00lib_fill_tx_status(struct rt2x00_dev *rt2x00dev, + */ + if (test_bit(TXDONE_AMPDU, &txdesc->flags) || + tx_info->flags & IEEE80211_TX_CTL_AMPDU) { +- tx_info->flags |= IEEE80211_TX_STAT_AMPDU; ++ tx_info->flags |= IEEE80211_TX_STAT_AMPDU | ++ IEEE80211_TX_CTL_AMPDU; + tx_info->status.ampdu_len = 1; + tx_info->status.ampdu_ack_len = success ? 1 : 0; + +diff --git a/drivers/net/wireless/ralink/rt2x00/rt2x00queue.h b/drivers/net/wireless/ralink/rt2x00/rt2x00queue.h +index 9b297fce4692..c78fb8c8838a 100644 +--- a/drivers/net/wireless/ralink/rt2x00/rt2x00queue.h ++++ b/drivers/net/wireless/ralink/rt2x00/rt2x00queue.h +@@ -215,6 +215,7 @@ enum txdone_entry_desc_flags { + TXDONE_FAILURE, + TXDONE_EXCESSIVE_RETRY, + TXDONE_AMPDU, ++ TXDONE_NO_ACK_REQ, + }; + + /** +-- +2.12.1 + -- cgit v1.2.3