|
@@ -402,35 +402,6 @@ static int iwl_store_cscheme(struct iwl_fw *fw, const u8 *data, const u32 len)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-static void iwl_store_gscan_capa(struct iwl_fw *fw, const u8 *data,
|
|
|
- const u32 len)
|
|
|
-{
|
|
|
- struct iwl_fw_gscan_capabilities *fw_capa = (void *)data;
|
|
|
- struct iwl_gscan_capabilities *capa = &fw->gscan_capa;
|
|
|
-
|
|
|
- capa->max_scan_cache_size = le32_to_cpu(fw_capa->max_scan_cache_size);
|
|
|
- capa->max_scan_buckets = le32_to_cpu(fw_capa->max_scan_buckets);
|
|
|
- capa->max_ap_cache_per_scan =
|
|
|
- le32_to_cpu(fw_capa->max_ap_cache_per_scan);
|
|
|
- capa->max_rssi_sample_size = le32_to_cpu(fw_capa->max_rssi_sample_size);
|
|
|
- capa->max_scan_reporting_threshold =
|
|
|
- le32_to_cpu(fw_capa->max_scan_reporting_threshold);
|
|
|
- capa->max_hotlist_aps = le32_to_cpu(fw_capa->max_hotlist_aps);
|
|
|
- capa->max_significant_change_aps =
|
|
|
- le32_to_cpu(fw_capa->max_significant_change_aps);
|
|
|
- capa->max_bssid_history_entries =
|
|
|
- le32_to_cpu(fw_capa->max_bssid_history_entries);
|
|
|
- capa->max_hotlist_ssids = le32_to_cpu(fw_capa->max_hotlist_ssids);
|
|
|
- capa->max_number_epno_networks =
|
|
|
- le32_to_cpu(fw_capa->max_number_epno_networks);
|
|
|
- capa->max_number_epno_networks_by_ssid =
|
|
|
- le32_to_cpu(fw_capa->max_number_epno_networks_by_ssid);
|
|
|
- capa->max_number_of_white_listed_ssid =
|
|
|
- le32_to_cpu(fw_capa->max_number_of_white_listed_ssid);
|
|
|
- capa->max_number_of_black_listed_ssid =
|
|
|
- le32_to_cpu(fw_capa->max_number_of_black_listed_ssid);
|
|
|
-}
|
|
|
-
|
|
|
/*
|
|
|
* Gets uCode section from tlv.
|
|
|
*/
|
|
@@ -644,7 +615,6 @@ static int iwl_parse_tlv_firmware(struct iwl_drv *drv,
|
|
|
u32 build, paging_mem_size;
|
|
|
int num_of_cpus;
|
|
|
bool usniffer_req = false;
|
|
|
- bool gscan_capa = false;
|
|
|
|
|
|
if (len < sizeof(*ucode)) {
|
|
|
IWL_ERR(drv, "uCode has invalid length: %zd\n", len);
|
|
@@ -1090,16 +1060,7 @@ static int iwl_parse_tlv_firmware(struct iwl_drv *drv,
|
|
|
paging_mem_size;
|
|
|
break;
|
|
|
case IWL_UCODE_TLV_FW_GSCAN_CAPA:
|
|
|
- /*
|
|
|
- * Don't return an error in case of a shorter tlv_len
|
|
|
- * to enable loading of FW that has an old format
|
|
|
- * of GSCAN capabilities TLV.
|
|
|
- */
|
|
|
- if (tlv_len < sizeof(struct iwl_fw_gscan_capabilities))
|
|
|
- break;
|
|
|
-
|
|
|
- iwl_store_gscan_capa(&drv->fw, tlv_data, tlv_len);
|
|
|
- gscan_capa = true;
|
|
|
+ /* ignored */
|
|
|
break;
|
|
|
case IWL_UCODE_TLV_FW_MEM_SEG: {
|
|
|
struct iwl_fw_dbg_mem_seg_tlv *dbg_mem =
|
|
@@ -1164,19 +1125,6 @@ static int iwl_parse_tlv_firmware(struct iwl_drv *drv,
|
|
|
return -EINVAL;
|
|
|
}
|
|
|
|
|
|
- /*
|
|
|
- * If ucode advertises that it supports GSCAN but GSCAN
|
|
|
- * capabilities TLV is not present, or if it has an old format,
|
|
|
- * warn and continue without GSCAN.
|
|
|
- */
|
|
|
- if (fw_has_capa(capa, IWL_UCODE_TLV_CAPA_GSCAN_SUPPORT) &&
|
|
|
- !gscan_capa) {
|
|
|
- IWL_DEBUG_INFO(drv,
|
|
|
- "GSCAN is supported but capabilities TLV is unavailable\n");
|
|
|
- __clear_bit((__force long)IWL_UCODE_TLV_CAPA_GSCAN_SUPPORT,
|
|
|
- capa->_capa);
|
|
|
- }
|
|
|
-
|
|
|
return 0;
|
|
|
|
|
|
invalid_tlv_len:
|