diff options
Diffstat (limited to 'package/kernel/mac80211/patches/340-v4.19-brcmfmac-update-STA-info-struct-to-the-v5.patch')
-rw-r--r-- | package/kernel/mac80211/patches/340-v4.19-brcmfmac-update-STA-info-struct-to-the-v5.patch | 75 |
1 files changed, 0 insertions, 75 deletions
diff --git a/package/kernel/mac80211/patches/340-v4.19-brcmfmac-update-STA-info-struct-to-the-v5.patch b/package/kernel/mac80211/patches/340-v4.19-brcmfmac-update-STA-info-struct-to-the-v5.patch deleted file mode 100644 index e0fd8d9ea5..0000000000 --- a/package/kernel/mac80211/patches/340-v4.19-brcmfmac-update-STA-info-struct-to-the-v5.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 07b1ae46874949252625c96f309f96ca0f337020 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl> -Date: Thu, 28 Jun 2018 12:36:23 +0200 -Subject: [PATCH] brcmfmac: update STA info struct to the v5 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -That struct is used when querying firmware for the STA. It seem is has -been changing during the time. Luckily its format seems to be backward -compatible starting with v2 (the only breakage was v1 -> v2). - -The version that was supported by brcmfmac so far was v4. It was what -43602a1 and 4366b1 firmwares (7.35.177.56 and 10.10.69.3309 accordingly) -were using. It also seems to be used by early 4366c0 firmwares -(10.10.69.6908 and 10.10.69.69017). - -The problem appears when switching to the 10.10.122.20 firmware. It uses -v5 and instead of falling back to v4 when submitted buffer isn't big -enough it fallbacks to the v3. - -To receive all v4 specific info with the newest firmware we have to -submit a struct (buffer) that matches v5. - -Signed-off-by: Rafał Miłecki <rafal@milecki.pl> -Acked-by: Arend van Spriel <arend.vanspriel@broadcom.com> -Signed-off-by: Kalle Valo <kvalo@codeaurora.org> ---- - .../net/wireless/broadcom/brcm80211/brcmfmac/fwil_types.h | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil_types.h -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil_types.h -@@ -174,6 +174,8 @@ - #define BRCMF_MFP_CAPABLE 1 - #define BRCMF_MFP_REQUIRED 2 - -+#define BRCMF_VHT_CAP_MCS_MAP_NSS_MAX 8 -+ - /* MAX_CHUNK_LEN is the maximum length for data passing to firmware in each - * ioctl. It is relatively small because firmware has small maximum size input - * playload restriction for ioctls. -@@ -550,6 +552,8 @@ struct brcmf_sta_info_le { - /* w/hi bit set if basic */ - __le32 in; /* seconds elapsed since associated */ - __le32 listen_interval_inms; /* Min Listen interval in ms for STA */ -+ -+ /* Fields valid for ver >= 3 */ - __le32 tx_pkts; /* # of packets transmitted */ - __le32 tx_failures; /* # of packets failed */ - __le32 rx_ucast_pkts; /* # of unicast packets received */ -@@ -558,6 +562,8 @@ struct brcmf_sta_info_le { - __le32 rx_rate; /* Rate of last successful rx frame */ - __le32 rx_decrypt_succeeds; /* # of packet decrypted successfully */ - __le32 rx_decrypt_failures; /* # of packet decrypted failed */ -+ -+ /* Fields valid for ver >= 4 */ - __le32 tx_tot_pkts; /* # of tx pkts (ucast + mcast) */ - __le32 rx_tot_pkts; /* # of data packets recvd (uni + mcast) */ - __le32 tx_mcast_pkts; /* # of mcast pkts txed */ -@@ -594,6 +600,14 @@ 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; - }; - - struct brcmf_chanspec_list { |