diff options
author | David Spinadel <david.spinadel@intel.com> | 2012-03-10 16:00:15 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-03-12 14:22:10 -0400 |
commit | 4db2c9aeb28762ea7416122d03a7e5c8d87eb924 (patch) | |
tree | 50f1c3b6b1643324a42c0f9d56da6bf1ddb7fb2c /drivers/net/wireless/iwlwifi/iwl-drv.c | |
parent | 6dfa8d019cd21d08634ceb65a3fb90d0648bd93b (diff) |
iwlwifi: Add bool mvm_ucode to iwl_fw
mvm_ucode is true when mvm TLVs arive.
Signed-off-by: David Spinadel <david.spinadel@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-drv.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-drv.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-drv.c b/drivers/net/wireless/iwlwifi/iwl-drv.c index 54e09696fc9d..6f312c77af5e 100644 --- a/drivers/net/wireless/iwlwifi/iwl-drv.c +++ b/drivers/net/wireless/iwlwifi/iwl-drv.c | |||
@@ -636,14 +636,17 @@ static int iwl_parse_tlv_firmware(struct iwl_drv *drv, | |||
636 | case IWL_UCODE_TLV_SEC_RT: | 636 | case IWL_UCODE_TLV_SEC_RT: |
637 | iwl_store_ucode_sec(pieces, tlv_data, IWL_UCODE_REGULAR, | 637 | iwl_store_ucode_sec(pieces, tlv_data, IWL_UCODE_REGULAR, |
638 | tlv_len); | 638 | tlv_len); |
639 | drv->fw.mvm_fw = true; | ||
639 | break; | 640 | break; |
640 | case IWL_UCODE_TLV_SEC_INIT: | 641 | case IWL_UCODE_TLV_SEC_INIT: |
641 | iwl_store_ucode_sec(pieces, tlv_data, IWL_UCODE_INIT, | 642 | iwl_store_ucode_sec(pieces, tlv_data, IWL_UCODE_INIT, |
642 | tlv_len); | 643 | tlv_len); |
644 | drv->fw.mvm_fw = true; | ||
643 | break; | 645 | break; |
644 | case IWL_UCODE_TLV_SEC_WOWLAN: | 646 | case IWL_UCODE_TLV_SEC_WOWLAN: |
645 | iwl_store_ucode_sec(pieces, tlv_data, IWL_UCODE_WOWLAN, | 647 | iwl_store_ucode_sec(pieces, tlv_data, IWL_UCODE_WOWLAN, |
646 | tlv_len); | 648 | tlv_len); |
649 | drv->fw.mvm_fw = true; | ||
647 | break; | 650 | break; |
648 | case IWL_UCODE_TLV_DEF_CALIB: | 651 | case IWL_UCODE_TLV_DEF_CALIB: |
649 | if (tlv_len != sizeof(struct iwl_tlv_calib_data)) | 652 | if (tlv_len != sizeof(struct iwl_tlv_calib_data)) |
@@ -870,7 +873,11 @@ static void iwl_ucode_callback(const struct firmware *ucode_raw, void *context) | |||
870 | goto try_again; | 873 | goto try_again; |
871 | } | 874 | } |
872 | 875 | ||
873 | if (validate_sec_sizes(drv, &pieces, cfg)) | 876 | /* |
877 | * In mvm uCode there is no difference between data and instructions | ||
878 | * sections. | ||
879 | */ | ||
880 | if (!fw->mvm_fw && validate_sec_sizes(drv, &pieces, cfg)) | ||
874 | goto try_again; | 881 | goto try_again; |
875 | 882 | ||
876 | /* Allocate ucode buffers for card's bus-master loading ... */ | 883 | /* Allocate ucode buffers for card's bus-master loading ... */ |