wlan: Support to have IE passed by supplicant through sched_scan interface
Supplicant shall add extra ie information as part of PNO request
to the driver, This commit publishes max_sched_scan_ie_len
to NL interface to support such PNO scan request.
CRs-fixed: 546962
Change-Id: I73c41133565c76901bba748ba2cd49ad5a4ca4ff
diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c
index f9783ec..00a911c 100644
--- a/CORE/HDD/src/wlan_hdd_cfg80211.c
+++ b/CORE/HDD/src/wlan_hdd_cfg80211.c
@@ -671,6 +671,7 @@
wiphy->flags |= WIPHY_FLAG_SUPPORTS_SCHED_SCAN;
wiphy->max_sched_scan_ssids = SIR_PNO_MAX_SUPP_NETWORKS;
wiphy->max_match_sets = SIR_PNO_MAX_SUPP_NETWORKS;
+ wiphy->max_sched_scan_ie_len = SIR_MAC_MAX_IE_LENGTH;
#endif/*FEATURE_WLAN_SCAN_PNO*/
#ifdef CONFIG_ENABLE_LINUX_REG
@@ -7506,6 +7507,19 @@
pPnoRequest->aNetworks[i].rssiThreshold = 0; //Default value
}
+ VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO,
+ "request->ie_len = %d", request->ie_len);
+ if ((0 < request->ie_len) && (NULL != request->ie))
+ {
+ pPnoRequest->us24GProbeTemplateLen = request->ie_len;
+ memcpy(&pPnoRequest->p24GProbeTemplate, request->ie,
+ pPnoRequest->us24GProbeTemplateLen);
+
+ pPnoRequest->us5GProbeTemplateLen = request->ie_len;
+ memcpy(&pPnoRequest->p5GProbeTemplate, request->ie,
+ pPnoRequest->us5GProbeTemplateLen);
+ }
+
/* Driver gets only one time interval which is hardcoded in
* supplicant for 10000ms. Taking power consumption into account 6 timers
* will be used, Timervalue is increased exponentially i.e 10,20,40,