]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
wifi: iwlwifi: mvm: fix A-MSDU checks
authorJohannes Berg <johannes.berg@intel.com>
Thu, 13 Apr 2023 07:44:08 +0000 (10:44 +0300)
committerStefan Bader <stefan.bader@canonical.com>
Fri, 7 Jul 2023 10:16:59 +0000 (12:16 +0200)
BugLink: https://bugs.launchpad.net/bugs/2025067
[ Upstream commit d34d11aea2d5d71a66f2f90507c3f7202b964175 ]

Since Gl A-step devices use the old checksum hardware,
we shouldn't use the Bz code to check for A-MSDU
combining ability; fix that.

Fixes: ec18e7d4d20d ("wifi: iwlwifi: mvm: use old checksum for Bz A-step")
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230413102635.8c445b943fee.Ibf772102ca712f59e2ee0cdd4c344011fcf445aa@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c

index 1d46a2b345eb36d23b62820dd06957a39ce9359a..a29e685aac4ffff8ef9785c8574eae23fe10fd06 100644 (file)
@@ -5518,7 +5518,10 @@ static bool iwl_mvm_mac_can_aggregate(struct ieee80211_hw *hw,
 {
        struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
 
-       if (mvm->trans->trans_cfg->device_family >= IWL_DEVICE_FAMILY_BZ)
+       if (mvm->trans->trans_cfg->device_family > IWL_DEVICE_FAMILY_BZ ||
+           (mvm->trans->trans_cfg->device_family == IWL_DEVICE_FAMILY_BZ &&
+            !(CSR_HW_REV_TYPE(mvm->trans->hw_rev) == IWL_CFG_MAC_TYPE_GL &&
+              mvm->trans->hw_rev_step == SILICON_A_STEP)))
                return iwl_mvm_tx_csum_bz(mvm, head, true) ==
                       iwl_mvm_tx_csum_bz(mvm, skb, true);