iwlwifi: mvm: force single phy init
authorHaim Dreyfuss <haim.dreyfuss@intel.com>
Mon, 12 Aug 2019 10:25:42 +0000 (13:25 +0300)
committerLuca Coelho <luciano.coelho@intel.com>
Wed, 9 Oct 2019 10:01:04 +0000 (13:01 +0300)
The PHY is initialized during device initialization, but devices with
the tx_siso_diversity flag set need to send PHY_CONFIGURATION_CMD first,
otherwise the PHY would be reinitialized, causing a SYSASSERT.

To fix this, use a bit that tells the FW not to complete the PHY
initialization before a PHY_CONFIGURATION_CMD is received.

Signed-off-by: Haim Dreyfuss <haim.dreyfuss@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/fw.c

index b2eb18eedf028898348898352eeebb20c31d59e4..0d2229319261649f05abb1e7f077050a203d1ba5 100644 (file)
@@ -420,6 +420,9 @@ static int iwl_run_unified_mvm_ucode(struct iwl_mvm *mvm, bool read_nvm)
        };
        int ret;
 
+       if (mvm->trans->cfg->tx_with_siso_diversity)
+               init_cfg.init_flags |= cpu_to_le32(BIT(IWL_INIT_PHY));
+
        lockdep_assert_held(&mvm->mutex);
 
        mvm->rfkill_safe_init_done = false;