summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/mvm/mvm.h
diff options
context:
space:
mode:
authorMatti Gottlieb2014-07-31 08:16:25 +0200
committerEmmanuel Grumbach2015-03-12 08:57:27 +0100
commitd0d151973626eec3b8651311bdec209ba9050869 (patch)
tree4e968b74820fe4976f8dd6910d1c2d3a630cd38a /drivers/net/wireless/iwlwifi/mvm/mvm.h
parentiwlwifi: use IWL_DEFAULT_MAX_TX_POWER for max_eirp (diff)
downloadkernel-qcow2-linux-d0d151973626eec3b8651311bdec209ba9050869.tar.gz
kernel-qcow2-linux-d0d151973626eec3b8651311bdec209ba9050869.tar.xz
kernel-qcow2-linux-d0d151973626eec3b8651311bdec209ba9050869.zip
iwlwifi: iwlmvm: LAR: disable LAR support due to NVM vs TLV conflict
If LAR is supported in TLV, but the NVM does not enable it, then disable LAR support and ignore the TLV's bit that enabled LAR. Signed-off-by: Matti Gottlieb <matti.gottlieb@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/mvm/mvm.h')
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/mvm.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/mvm.h b/drivers/net/wireless/iwlwifi/mvm/mvm.h
index df5a2286b409..a196c7859086 100644
--- a/drivers/net/wireless/iwlwifi/mvm/mvm.h
+++ b/drivers/net/wireless/iwlwifi/mvm/mvm.h
@@ -914,7 +914,17 @@ static inline bool iwl_mvm_is_d0i3_supported(struct iwl_mvm *mvm)
static inline bool iwl_mvm_is_lar_supported(struct iwl_mvm *mvm)
{
- return mvm->fw->ucode_capa.capa[0] & IWL_UCODE_TLV_CAPA_LAR_SUPPORT;
+ bool nvm_lar = mvm->nvm_data->lar_enabled;
+ bool tlv_lar = mvm->fw->ucode_capa.capa[0] &
+ IWL_UCODE_TLV_CAPA_LAR_SUPPORT;
+ /*
+ * Enable LAR only if it is supported by the FW (TLV) &&
+ * enabled in the NVM
+ */
+ if (mvm->cfg->device_family == IWL_DEVICE_FAMILY_8000)
+ return nvm_lar && tlv_lar;
+ else
+ return tlv_lar;
}
static inline bool iwl_mvm_is_scd_cfg_supported(struct iwl_mvm *mvm)