From c795794eef8737f6272b2acce9025807af52da81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Date: Thu, 29 Sep 2016 09:48:09 +0200 Subject: mac80211: use upstream patches for rtl8xxxu MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Also improves rtl8188eu support. Signed-off-by: Álvaro Fernández Rojas --- ...mplify-calculating-of-hw-value-used-for-s.patch | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 package/kernel/mac80211/patches/653-0015-rtl8xxxu-Simplify-calculating-of-hw-value-used-for-s.patch (limited to 'package/kernel/mac80211/patches/653-0015-rtl8xxxu-Simplify-calculating-of-hw-value-used-for-s.patch') diff --git a/package/kernel/mac80211/patches/653-0015-rtl8xxxu-Simplify-calculating-of-hw-value-used-for-s.patch b/package/kernel/mac80211/patches/653-0015-rtl8xxxu-Simplify-calculating-of-hw-value-used-for-s.patch new file mode 100644 index 0000000000..eb2fbbb236 --- /dev/null +++ b/package/kernel/mac80211/patches/653-0015-rtl8xxxu-Simplify-calculating-of-hw-value-used-for-s.patch @@ -0,0 +1,46 @@ +From be49b1f111c76ce20a60a90587e2b8e8ab809a06 Mon Sep 17 00:00:00 2001 +From: Jes Sorensen +Date: Fri, 19 Aug 2016 17:46:37 -0400 +Subject: [PATCH] rtl8xxxu: Simplify calculating of hw value used for setting + TX rate + +Calculating the value in one place rather than using one calculation +in one place and a different one for management frames in another +location makes little sense. + +Signed-off-by: Jes Sorensen +Signed-off-by: Kalle Valo +--- + drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c ++++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c +@@ -4848,7 +4848,8 @@ static void rtl8xxxu_tx(struct ieee80211 + } + } + +- if (rate_flag & IEEE80211_TX_RC_MCS) ++ if (rate_flag & IEEE80211_TX_RC_MCS && ++ !ieee80211_is_mgmt(hdr->frame_control)) + rate = tx_info->control.rates[0].idx + DESC_RATE_MCS0; + else + rate = tx_rate->hw_value; +@@ -4869,7 +4870,7 @@ static void rtl8xxxu_tx(struct ieee80211 + tx_desc->txdw1 |= cpu_to_le32(TXDESC32_AGG_BREAK); + + if (ieee80211_is_mgmt(hdr->frame_control)) { +- tx_desc->txdw5 = cpu_to_le32(tx_rate->hw_value); ++ tx_desc->txdw5 = cpu_to_le32(rate); + tx_desc->txdw4 |= + cpu_to_le32(TXDESC32_USE_DRIVER_RATE); + tx_desc->txdw5 |= +@@ -4923,7 +4924,7 @@ static void rtl8xxxu_tx(struct ieee80211 + tx_desc40->txdw2 |= cpu_to_le32(TXDESC40_AGG_BREAK); + + if (ieee80211_is_mgmt(hdr->frame_control)) { +- tx_desc40->txdw4 = cpu_to_le32(tx_rate->hw_value); ++ tx_desc40->txdw4 = cpu_to_le32(rate); + tx_desc40->txdw3 |= + cpu_to_le32(TXDESC40_USE_DRIVER_RATE); + tx_desc40->txdw4 |= -- cgit v1.2.3