From d9ee8fd96baa88ea4ec869bda0fab8b4f9db6749 Mon Sep 17 00:00:00 2001 From: Gurumoorthi Gnanasambandhan Date: Fri, 3 May 2019 16:49:35 +0530 Subject: [PATCH] qcacmn: Add option to set high priority scan For enhanced repeater independent mode scan request from wpa_supplicant needs to be set in high priority scan. Change-Id: I4f95d0e7b2f1d9eb68ed14efd4ee3932ced5af61 CRs-Fixed: 2432916 --- os_if/linux/scan/inc/wlan_cfg80211_scan.h | 2 ++ os_if/linux/scan/src/wlan_cfg80211_scan.c | 3 +++ umac/scan/core/src/wlan_scan_manager.c | 5 +++-- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/os_if/linux/scan/inc/wlan_cfg80211_scan.h b/os_if/linux/scan/inc/wlan_cfg80211_scan.h index 54b402f8a51c..97d0b706d0ea 100644 --- a/os_if/linux/scan/inc/wlan_cfg80211_scan.h +++ b/os_if/linux/scan/inc/wlan_cfg80211_scan.h @@ -124,6 +124,7 @@ struct scan_req { * @source: scan request source * @default_ie: default scan ie * @vendor_ie: vendor ie + * @priority: scan priority * @half_rate: Half rate flag * @quarter_rate: Quarter rate flag * @strict_pscan: strict passive scan flag @@ -132,6 +133,7 @@ struct scan_params { uint8_t source; struct element_info default_ie; struct element_info vendor_ie; + enum scan_priority priority; bool half_rate; bool quarter_rate; bool strict_pscan; diff --git a/os_if/linux/scan/src/wlan_cfg80211_scan.c b/os_if/linux/scan/src/wlan_cfg80211_scan.c index 3363a3917ee0..26928ded05f9 100644 --- a/os_if/linux/scan/src/wlan_cfg80211_scan.c +++ b/os_if/linux/scan/src/wlan_cfg80211_scan.c @@ -1491,6 +1491,9 @@ int wlan_cfg80211_scan(struct wlan_objmgr_vdev *vdev, if (is_p2p_scan) req->scan_req.scan_priority = SCAN_PRIORITY_HIGH; + if (params->priority != SCAN_PRIORITY_COUNT) + req->scan_req.scan_priority = params->priority; + if (request->ie_len) extra_ie_len = request->ie_len; else if (params->default_ie.ptr && params->default_ie.len) diff --git a/umac/scan/core/src/wlan_scan_manager.c b/umac/scan/core/src/wlan_scan_manager.c index 4d8e1a807df9..c71a45e20fb1 100644 --- a/umac/scan/core/src/wlan_scan_manager.c +++ b/umac/scan/core/src/wlan_scan_manager.c @@ -956,12 +956,13 @@ scm_scan_req_update_params(struct wlan_objmgr_vdev *vdev, ucfg_scan_init_chanlist_params(req, 0, NULL, NULL); scm_update_channel_list(req, scan_obj); - scm_debug("dwell time: active %d, passive %d, repeat_probe_time %d n_probes %d flags_ext %x, wide_bw_scan: %d", + scm_debug("dwell time: active %d, passive %d, repeat_probe_time %d n_probes %d flags_ext %x, wide_bw_scan: %d priority: %d", req->scan_req.dwell_time_active, req->scan_req.dwell_time_passive, req->scan_req.repeat_probe_time, req->scan_req.n_probes, req->scan_req.scan_ctrl_flags_ext, - req->scan_req.scan_f_wide_band); + req->scan_req.scan_f_wide_band, + req->scan_req.scan_priority); } QDF_STATUS