|
@@ -1060,11 +1060,18 @@ static int iwl_parse_tlv_firmware(struct iwl_drv *drv,
|
|
|
return -EINVAL;
|
|
|
}
|
|
|
|
|
|
- if (WARN(fw_has_capa(capa, IWL_UCODE_TLV_CAPA_GSCAN_SUPPORT) &&
|
|
|
- !gscan_capa,
|
|
|
- "GSCAN is supported but capabilities TLV is unavailable\n"))
|
|
|
+ /*
|
|
|
+ * 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;
|
|
|
|