diff options
author | Rafał Miłecki <rafal@milecki.pl> | 2019-02-25 22:39:04 +0100 |
---|---|---|
committer | Rafał Miłecki <rafal@milecki.pl> | 2019-02-26 07:50:22 +0100 |
commit | eab65374490a53dd88bdff00be11cdf1fcb5fe62 (patch) | |
tree | fbce35e5666e012754b9163ac9fabda3be3ae19b /package/kernel/mac80211/patches/339-v4.21-0001-brcmfmac-support-STA-info-struct-v7.patch | |
parent | fb333a7fec5fd58c00aa7409fbd11c6aaa9110ce (diff) | |
download | upstream-eab65374490a53dd88bdff00be11cdf1fcb5fe62.tar.gz upstream-eab65374490a53dd88bdff00be11cdf1fcb5fe62.tar.bz2 upstream-eab65374490a53dd88bdff00be11cdf1fcb5fe62.zip |
mac80211: brcmfmac: backport 5.0 & 5.1 important changes/fixes
This backports the most important brcmfmac commits that:
1) Fix some bugs
2) Help debugging bugs
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit d32bbd747733de5daeb63a8f2c1307f612422f87)
Diffstat (limited to 'package/kernel/mac80211/patches/339-v4.21-0001-brcmfmac-support-STA-info-struct-v7.patch')
-rw-r--r-- | package/kernel/mac80211/patches/339-v4.21-0001-brcmfmac-support-STA-info-struct-v7.patch | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/package/kernel/mac80211/patches/339-v4.21-0001-brcmfmac-support-STA-info-struct-v7.patch b/package/kernel/mac80211/patches/339-v4.21-0001-brcmfmac-support-STA-info-struct-v7.patch deleted file mode 100644 index e1785812c7..0000000000 --- a/package/kernel/mac80211/patches/339-v4.21-0001-brcmfmac-support-STA-info-struct-v7.patch +++ /dev/null @@ -1,78 +0,0 @@ -From a4dad0334732f62c67058037d9edb17945bec598 Mon Sep 17 00:00:00 2001 -From: Dan Haab <riproute@gmail.com> -Date: Fri, 9 Nov 2018 09:38:55 -0700 -Subject: [PATCH] brcmfmac: support STA info struct v7 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The newest firmwares provide STA info using v7 of the struct. As v7 -isn't backward compatible, a union is needed. - -Even though brcmfmac does not use any of the new info it's important to -provide the proper struct buffer. Without this change new firmwares will -fallback to the very limited v3 instead of something in between such as -v4. - -Signed-off-by: Dan Haab <dan.haab@luxul.com> -Reviewed-by: Rafał Miłecki <rafal@milecki.pl> ---- - .../broadcom/brcm80211/brcmfmac/fwil_types.h | 40 ++++++++++++++++++---- - 1 file changed, 33 insertions(+), 7 deletions(-) - ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil_types.h -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil_types.h -@@ -167,6 +167,8 @@ - #define BRCMF_MFP_REQUIRED 2 - - #define BRCMF_VHT_CAP_MCS_MAP_NSS_MAX 8 -+ -+#define BRCMF_HE_CAP_MCS_MAP_NSS_MAX 8 - - /* join preference types for join_pref iovar */ - enum brcmf_join_pref_types { -@@ -565,13 +567,37 @@ struct brcmf_sta_info_le { - __le32 rx_pkts_retried; /* # rx with retry bit set */ - __le32 tx_rate_fallback; /* lowest fallback TX rate */ - -- /* Fields valid for ver >= 5 */ -- struct { -- __le32 count; /* # rates in this set */ -- u8 rates[BRCMF_MAXRATES_IN_SET]; /* rates in 500kbps units w/hi bit set if basic */ -- u8 mcs[BRCMF_MCSSET_LEN]; /* supported mcs index bit map */ -- __le16 vht_mcs[BRCMF_VHT_CAP_MCS_MAP_NSS_MAX]; /* supported mcs index bit map per nss */ -- } rateset_adv; -+ union { -+ struct { -+ struct { -+ __le32 count; /* # rates in this set */ -+ u8 rates[BRCMF_MAXRATES_IN_SET]; /* rates in 500kbps units w/hi bit set if basic */ -+ u8 mcs[BRCMF_MCSSET_LEN]; /* supported mcs index bit map */ -+ __le16 vht_mcs[BRCMF_VHT_CAP_MCS_MAP_NSS_MAX]; /* supported mcs index bit map per nss */ -+ } rateset_adv; -+ } v5; -+ -+ struct { -+ __le32 rx_dur_total; /* total user RX duration (estimated) */ -+ __le16 chanspec; /** chanspec this sta is on */ -+ __le16 pad_1; -+ struct { -+ __le16 version; /* version */ -+ __le16 len; /* length */ -+ __le32 count; /* # rates in this set */ -+ u8 rates[BRCMF_MAXRATES_IN_SET]; /* rates in 500kbps units w/hi bit set if basic */ -+ u8 mcs[BRCMF_MCSSET_LEN]; /* supported mcs index bit map */ -+ __le16 vht_mcs[BRCMF_VHT_CAP_MCS_MAP_NSS_MAX]; /* supported mcs index bit map per nss */ -+ __le16 he_mcs[BRCMF_HE_CAP_MCS_MAP_NSS_MAX]; /* supported he mcs index bit map per nss */ -+ } rateset_adv; /* rateset along with mcs index bitmap */ -+ __le16 wpauth; /* authentication type */ -+ u8 algo; /* crypto algorithm */ -+ u8 pad_2; -+ __le32 tx_rspec; /* Rate of last successful tx frame */ -+ __le32 rx_rspec; /* Rate of last successful rx frame */ -+ __le32 wnm_cap; /* wnm capabilities */ -+ } v7; -+ }; - }; - - struct brcmf_chanspec_list { |