wifi: iwlwifi: mvm: request limiting to 8 MSDUs per A-MSDU
authorJohannes Berg <johannes.berg@intel.com>
Thu, 13 Apr 2023 18:40:25 +0000 (21:40 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 14 Apr 2023 11:14:50 +0000 (13:14 +0200)
Due to hardware limitations when splitting up A-MSDUs, it
cannot handle an arbitrary number of MSDUs per A-MSDU. Set
the bits to ask transmitters to send only 8 MSDUs in one
A-MSDU.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230413213309.e6c518f2724f.I15c13d13b38289edbcd64f67d57cf18f6026457a@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c

index fc15636..ac5c479 100644 (file)
@@ -227,14 +227,18 @@ int iwl_mvm_init_fw_regd(struct iwl_mvm *mvm)
 static const u8 he_if_types_ext_capa_sta[] = {
         [0] = WLAN_EXT_CAPA1_EXT_CHANNEL_SWITCHING,
         [2] = WLAN_EXT_CAPA3_MULTI_BSSID_SUPPORT,
-        [7] = WLAN_EXT_CAPA8_OPMODE_NOTIF,
+        [7] = WLAN_EXT_CAPA8_OPMODE_NOTIF |
+              WLAN_EXT_CAPA8_MAX_MSDU_IN_AMSDU_LSB,
+        [8] = WLAN_EXT_CAPA9_MAX_MSDU_IN_AMSDU_MSB,
 };
 
 static const u8 tm_if_types_ext_capa_sta[] = {
         [0] = WLAN_EXT_CAPA1_EXT_CHANNEL_SWITCHING,
         [2] = WLAN_EXT_CAPA3_MULTI_BSSID_SUPPORT |
               WLAN_EXT_CAPA3_TIMING_MEASUREMENT_SUPPORT,
-        [7] = WLAN_EXT_CAPA8_OPMODE_NOTIF,
+        [7] = WLAN_EXT_CAPA8_OPMODE_NOTIF |
+              WLAN_EXT_CAPA8_MAX_MSDU_IN_AMSDU_LSB,
+        [8] = WLAN_EXT_CAPA9_MAX_MSDU_IN_AMSDU_MSB,
         [9] = WLAN_EXT_CAPA10_TWT_REQUESTER_SUPPORT,
 };