prima: extscan: Fix to avoid compatibility issues
Ext scan structures are changed as part of ext scan enhancements.
Add check for feature capability EXT_SCAN_ENHANCED from firmware
before sending enhanced structure to avoid compatibility issues
between host and firmware.
Change-Id: Iaa00a2f9873b8276901a0d7ea308d68aa7e3a748
CRs-Fixed: 921922
diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c
index a3d7bd8..47fbe38 100644
--- a/CORE/HDD/src/wlan_hdd_cfg80211.c
+++ b/CORE/HDD/src/wlan_hdd_cfg80211.c
@@ -3462,7 +3462,8 @@
}
/* check the EXTScan Capability */
if ( (TRUE != pHddCtx->cfg_ini->fEnableEXTScan) ||
- (TRUE != sme_IsFeatureSupportedByFW(EXTENDED_SCAN)))
+ (TRUE != sme_IsFeatureSupportedByFW(EXTENDED_SCAN)) ||
+ (TRUE != sme_IsFeatureSupportedByFW(EXT_SCAN_ENHANCED)))
{
hddLog(VOS_TRACE_LEVEL_ERROR,
FL("EXTScan not enabled/supported by Firmware"));
@@ -3561,7 +3562,8 @@
}
/* check the EXTScan Capability */
if ( (TRUE != pHddCtx->cfg_ini->fEnableEXTScan) ||
- (TRUE != sme_IsFeatureSupportedByFW(EXTENDED_SCAN)))
+ (TRUE != sme_IsFeatureSupportedByFW(EXTENDED_SCAN)) ||
+ (TRUE != sme_IsFeatureSupportedByFW(EXT_SCAN_ENHANCED)))
{
hddLog(VOS_TRACE_LEVEL_ERROR,
FL("EXTScan not enabled/supported by Firmware"));
@@ -3682,7 +3684,8 @@
}
/* check the EXTScan Capability */
if ( (TRUE != pHddCtx->cfg_ini->fEnableEXTScan) ||
- (TRUE != sme_IsFeatureSupportedByFW(EXTENDED_SCAN)))
+ (TRUE != sme_IsFeatureSupportedByFW(EXTENDED_SCAN)) ||
+ (TRUE != sme_IsFeatureSupportedByFW(EXT_SCAN_ENHANCED)))
{
hddLog(VOS_TRACE_LEVEL_ERROR,
FL("EXTScan not enabled/supported by Firmware"));
@@ -3897,7 +3900,8 @@
/* check the EXTScan Capability */
if ( (TRUE != hdd_ctx->cfg_ini->fEnableEXTScan) ||
- (TRUE != sme_IsFeatureSupportedByFW(EXTENDED_SCAN)))
+ (TRUE != sme_IsFeatureSupportedByFW(EXTENDED_SCAN)) ||
+ (TRUE != sme_IsFeatureSupportedByFW(EXT_SCAN_ENHANCED)))
{
hddLog(VOS_TRACE_LEVEL_ERROR,
FL("EXTScan not enabled/supported by Firmware"));
@@ -4104,7 +4108,8 @@
/* check the EXTScan Capability */
if ( (TRUE != hdd_ctx->cfg_ini->fEnableEXTScan) ||
- (TRUE != sme_IsFeatureSupportedByFW(EXTENDED_SCAN)))
+ (TRUE != sme_IsFeatureSupportedByFW(EXTENDED_SCAN)) ||
+ (TRUE != sme_IsFeatureSupportedByFW(EXT_SCAN_ENHANCED)))
{
hddLog(LOGE,
FL("EXTScan not enabled/supported by Firmware"));
@@ -4574,7 +4579,8 @@
}
/* check the EXTScan Capability */
if ( (TRUE != pHddCtx->cfg_ini->fEnableEXTScan) ||
- (TRUE != sme_IsFeatureSupportedByFW(EXTENDED_SCAN)))
+ (TRUE != sme_IsFeatureSupportedByFW(EXTENDED_SCAN)) ||
+ (TRUE != sme_IsFeatureSupportedByFW(EXT_SCAN_ENHANCED)))
{
hddLog(VOS_TRACE_LEVEL_ERROR,
FL("EXTScan not enabled/supported by Firmware"));
@@ -4765,7 +4771,8 @@
}
/* check the EXTScan Capability */
if ( (TRUE != pHddCtx->cfg_ini->fEnableEXTScan) ||
- (TRUE != sme_IsFeatureSupportedByFW(EXTENDED_SCAN)))
+ (TRUE != sme_IsFeatureSupportedByFW(EXTENDED_SCAN)) ||
+ (TRUE != sme_IsFeatureSupportedByFW(EXT_SCAN_ENHANCED)))
{
hddLog(VOS_TRACE_LEVEL_ERROR,
FL("EXTScan not enabled/supported by Firmware"));
@@ -4870,7 +4877,8 @@
}
/* check the EXTScan Capability */
if ( (TRUE != pHddCtx->cfg_ini->fEnableEXTScan) ||
- (TRUE != sme_IsFeatureSupportedByFW(EXTENDED_SCAN)))
+ (TRUE != sme_IsFeatureSupportedByFW(EXTENDED_SCAN)) ||
+ (TRUE != sme_IsFeatureSupportedByFW(EXT_SCAN_ENHANCED)))
{
hddLog(VOS_TRACE_LEVEL_ERROR,
FL("EXTScan not enabled/supported by Firmware"));
@@ -5499,8 +5507,9 @@
#ifdef WLAN_FEATURE_EXTSCAN
if ((TRUE == pHddCtx->cfg_ini->fEnableEXTScan) &&
- sme_IsFeatureSupportedByFW(EXTENDED_SCAN)) {
- hddLog(LOG1, FL("EXTScan is supported by firmware"));
+ sme_IsFeatureSupportedByFW(EXTENDED_SCAN) &&
+ sme_IsFeatureSupportedByFW(EXT_SCAN_ENHANCED)) {
+ hddLog(LOG1, FL("Enhanced EXTScan is supported by firmware"));
fset |= WIFI_FEATURE_EXTSCAN;
}
#endif