iwlwifi: fw: fix lar_enabled endian problem in iwl_fw_get_nvm
authorLuca Coelho <luciano.coelho@intel.com>
Tue, 15 Aug 2017 20:12:39 +0000 (23:12 +0300)
committerLuca Coelho <luciano.coelho@intel.com>
Fri, 18 Aug 2017 14:36:41 +0000 (17:36 +0300)
We read the regulatory.lar_enabled field in iwl_fw_get_nvm() and store
it in nvm->lar_enabled, taking care of endianness.  But then later we
read it again to pass the value to iwl_init_sbands() without handling
endianness.  To solve this, simply reuse nvm->lar_enabled when calling
that function.

Fixes: e9e1ba3dbf00 ("iwlwifi: mvm: support getting nvm data from firmware")
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
drivers/net/wireless/intel/iwlwifi/fw/nvm.c

index e81f6dd3744e9e36f2a85bde27955ee02de30922..bd2e1fb43f5a216810f4ed202e15123498145a9a 100644 (file)
@@ -148,8 +148,7 @@ struct iwl_nvm_data *iwl_fw_get_nvm(struct iwl_fw_runtime *fwrt)
                        rsp->regulatory.channel_profile,
                        nvm->valid_tx_ant & fwrt->fw->valid_tx_ant,
                        nvm->valid_rx_ant & fwrt->fw->valid_rx_ant,
-                       rsp->regulatory.lar_enabled && lar_fw_supported,
-                       false);
+                       nvm->lar_enabled, false);
 
        iwl_free_resp(&hcmd);
        return nvm;