iwlwifi: mvm: initialize iwl_dev_tx_power_cmd to zero
authorLuca Coelho <luciano.coelho@intel.com>
Fri, 24 Apr 2020 16:46:58 +0000 (19:46 +0300)
committerLuca Coelho <luciano.coelho@intel.com>
Fri, 8 May 2020 06:51:38 +0000 (09:51 +0300)
If the REDUCE_TX_POWER_CMD version is v4 or v5, we are not
initializing some values before sending to the FW, which causes SAR
not to work properly.  Solve this by initializing the struct in the
declaration.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20200424194456.0dc957a264ff.I43cfd72d539c1287ccaaa454e95c673dac38214f@changeid
drivers/net/wireless/intel/iwlwifi/mvm/fw.c

index 164fc9e98c868c8833a328f58123c04ee7327018..60246a8eed5098021bdc935190bfee6b75b8f44e 100644 (file)
@@ -787,13 +787,12 @@ int iwl_mvm_sar_select_profile(struct iwl_mvm *mvm, int prof_a, int prof_b)
        union {
                struct iwl_dev_tx_power_cmd v5;
                struct iwl_dev_tx_power_cmd_v4 v4;
-       } cmd;
-
+       } cmd = {
+               .v5.v3.set_mode = cpu_to_le32(IWL_TX_POWER_MODE_SET_CHAINS),
+       };
        int ret;
        u16 len = 0;
 
-       cmd.v5.v3.set_mode = cpu_to_le32(IWL_TX_POWER_MODE_SET_CHAINS);
-
        if (fw_has_api(&mvm->fw->ucode_capa,
                       IWL_UCODE_TLV_API_REDUCE_TX_POWER))
                len = sizeof(cmd.v5);