[PATCH 00/21][SRU][OEM-OSP1-B] iwlwifi: mvm: support HE context cmd API change
You-Sheng Yang
vicamo.yang at canonical.com
Tue Sep 24 07:59:26 UTC 2019
BugLink: https://bugs.launchpad.net/bugs/1845138
[Impact]
When trying to associate with an 802.11ax Wi-Fi AP on platforms with
Intel AX1650s/AX1650i, iwlwifi gives a firmware error about command in
SYN CMD STA_HE_CTXT_CMD and hardware resets.
[Fix]
AX1650s/AX1650i firmware expects passed command struct to include
multiple bssid support when associating with 802.11ax APs, and the
implementation has been landed to v5.2 as:
commit d14ae796f849: iwlwifi: mvm: support HE context cmd API change
This commit, along with its prerequisites in kernel mac80211/cfg80211
framework are neccesary to complete 802.11ax AP associations.
[Test Case]
Tested on AX1650s/AX1650i, as well as 9462/9560, to associate with
AX/N/AC/BG open/wpa AP.
[Regression Risk]
Medium. These patches introduces new features to mac80211/cfg80211
framework but are only enabled when IEEE80211_HW_SUPPORTS_MULTI_BSSID
and/or IEEE80211_HW_SUPPORTS_ONLY_HE_MULTI_BSSID are set. There is also
refactoring to information element access for cfg80211.
For the firmware part, this should only be enabled when firmware blobs
has explicitly declared IWL_UCODE_TLV_API_MBSSID_HE capability. And when
this capability is set, like fw for AX1650s/AX1650i, changes here are
necessary to make an association to 802.11ax Wi-Fi AP successfully.
Johannes Berg (6):
cfg80211: add and use strongly typed element iteration macros
mac80211: use element iteration macro in parsing
cfg80211: add various struct element finding helpers
nl80211: use for_each_element() in validate_ie_attr()
cfg80211: use for_each_element() for multi-bssid parsing
cfg80211: add missing kernel-doc for multi-BSSID fields
Jouni Malinen (1):
mac80211_hwsim: Declare support for Multi-BSSID
Peng Xu (1):
cfg80211: Parsing of Multiple BSSID information in scanning
Sara Sharon (13):
mac80211: pass bssids to elements parsing function
mac80211: move the bss update from elements to an helper
cfg80211: Properly track transmitting and non-transmitting BSS
cfg80211: Move Multiple BSS info to struct cfg80211_bss to be visible
cfg80211: parse multi-bssid only if HW supports it
cfg80211: make BSSID generation function inline
cfg80211: save multi-bssid properties
mac80211: support multi-bssid
mac80211: indicate support for multiple BSSID
cfg80211: fix the IE inheritance of extension IEs
cfg80211: fix memory leak of new_ie
iwlwifi: mvm: support multiple BSSID
iwlwifi: mvm: support HE context cmd API change
.../net/wireless/intel/iwlwifi/fw/api/mac.h | 77 ++-
drivers/net/wireless/intel/iwlwifi/fw/file.h | 3 +
.../net/wireless/intel/iwlwifi/mvm/mac80211.c | 22 +-
drivers/net/wireless/mac80211_hwsim.c | 1 +
include/linux/ieee80211.h | 92 ++-
include/net/cfg80211.h | 179 +++++-
include/net/mac80211.h | 22 +
net/mac80211/debugfs.c | 4 +-
net/mac80211/ibss.c | 8 +-
net/mac80211/ieee80211_i.h | 20 +-
net/mac80211/main.c | 13 +-
net/mac80211/mesh.c | 10 +-
net/mac80211/mesh_hwmp.c | 3 +-
net/mac80211/mesh_plink.c | 4 +-
net/mac80211/mlme.c | 185 ++++--
net/mac80211/scan.c | 160 +++--
net/mac80211/tdls.c | 6 +-
net/mac80211/util.c | 133 +++-
net/wireless/core.h | 13 +-
net/wireless/nl80211.c | 28 +-
net/wireless/scan.c | 595 ++++++++++++++++--
net/wireless/util.c | 6 +-
22 files changed, 1314 insertions(+), 270 deletions(-)
--
2.23.0
More information about the kernel-team
mailing list