diff options
author | Matti Gottlieb <matti.gottlieb@intel.com> | 2014-07-31 09:16:25 +0300 |
---|---|---|
committer | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2015-03-12 09:57:27 +0200 |
commit | d0d151973626eec3b8651311bdec209ba9050869 (patch) | |
tree | 4e968b74820fe4976f8dd6910d1c2d3a630cd38a /drivers/net/wireless/iwlwifi/mvm/nvm.c | |
parent | 02a50495dec111c68d82ecf3ac1e00224e880790 (diff) | |
download | talos-op-linux-d0d151973626eec3b8651311bdec209ba9050869.tar.gz talos-op-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/nvm.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/mvm/nvm.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/nvm.c b/drivers/net/wireless/iwlwifi/mvm/nvm.c index b88b4cd07a22..1c699c9aaad3 100644 --- a/drivers/net/wireless/iwlwifi/mvm/nvm.c +++ b/drivers/net/wireless/iwlwifi/mvm/nvm.c @@ -303,7 +303,8 @@ iwl_parse_nvm_sections(struct iwl_mvm *mvm) regulatory, mac_override, mvm->fw->valid_tx_ant, mvm->fw->valid_rx_ant, - iwl_mvm_is_lar_supported(mvm)); + mvm->fw->ucode_capa.capa[0] & + IWL_UCODE_TLV_CAPA_LAR_SUPPORT); } #define MAX_NVM_FILE_LEN 16384 @@ -659,6 +660,20 @@ exit: int iwl_mvm_init_mcc(struct iwl_mvm *mvm) { + bool tlv_lar; + bool nvm_lar; + + if (mvm->cfg->device_family == IWL_DEVICE_FAMILY_8000) { + tlv_lar = mvm->fw->ucode_capa.capa[0] & + IWL_UCODE_TLV_CAPA_LAR_SUPPORT; + nvm_lar = mvm->nvm_data->lar_enabled; + if (tlv_lar != nvm_lar) + IWL_INFO(mvm, + "Conflict between TLV & NVM regarding enabling LAR (TLV = %s NVM =%s)\n", + tlv_lar ? "enabled" : "disabled", + nvm_lar ? "enabled" : "disabled"); + } + if (!iwl_mvm_is_lar_supported(mvm)) return 0; |