wifi: iwlwifi: mvm: set siso/mimo chains to 1 in FW SMPS request
authorJohannes Berg <johannes.berg@intel.com>
Tue, 19 Dec 2023 19:58:49 +0000 (21:58 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Jan 2024 23:35:29 +0000 (15:35 -0800)
[ Upstream commit b1a2e5c310e063560760806d2cc5d2233c596067 ]

The firmware changed their mind, don't set the chains to zero,
instead set them to 1 as we normally would for connections to
APs that don't use MIMO.

Fixes: 2a7ce54ccc23 ("iwlwifi: mvm: honour firmware SMPS requests")
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Reviewed-by: Luciano Coelho <luciano.coelho@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20231219215605.7f031f1a127f.Idc816e0f604b07d22a9d5352bc23c445512fad14@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c

index a5b432b..9c582e2 100644 (file)
@@ -99,17 +99,6 @@ static void iwl_mvm_phy_ctxt_set_rxchain(struct iwl_mvm *mvm,
                active_cnt = 2;
        }
 
-       /*
-        * If the firmware requested it, then we know that it supports
-        * getting zero for the values to indicate "use one, but pick
-        * which one yourself", which means it can dynamically pick one
-        * that e.g. has better RSSI.
-        */
-       if (mvm->fw_static_smps_request && active_cnt == 1 && idle_cnt == 1) {
-               idle_cnt = 0;
-               active_cnt = 0;
-       }
-
        *rxchain_info = cpu_to_le32(iwl_mvm_get_valid_rx_ant(mvm) <<
                                        PHY_RX_CHAIN_VALID_POS);
        *rxchain_info |= cpu_to_le32(idle_cnt << PHY_RX_CHAIN_CNT_POS);