qcacmn: Config support to use BSSID in probe request RA

User configuration support to use scan request BSSID value
in Probe Request frame RA during the scan.

Change-Id: I40d07e4c3e4814a9c816b3e426dcbb63df7ddf27
CRs-Fixed: 2945679
Bu işleme şunda yer alıyor:
Kiran Kumar Lokere
2021-05-12 23:53:58 -07:00
işlemeyi yapan: Madan Koyyalamudi
ebeveyn 64d063094f
işleme e2ada05cee
4 değiştirilmiş dosya ile 14 ekleme ve 0 silme

Dosyayı Görüntüle

@@ -153,6 +153,7 @@ struct scan_req {
* inapplicable.
* @dwell_time_passive_6g: 6 GHz specific passive dwell time. Ignored if zero or
* inapplicable.
* @scan_probe_unicast_ra: Use BSSID in probe request frame RA.
* @scan_f_2ghz: Scan only 2GHz channels
* @scan_f_5ghz: Scan only 5+6GHz channels
*/
@@ -169,6 +170,7 @@ struct scan_params {
uint32_t dwell_time_passive;
uint32_t dwell_time_active_6g;
uint32_t dwell_time_passive_6g;
bool scan_probe_unicast_ra;
bool scan_f_2ghz;
bool scan_f_5ghz;
};

Dosyayı Görüntüle

@@ -1630,6 +1630,13 @@ int wlan_cfg80211_scan(struct wlan_objmgr_vdev *vdev,
if (request->flags & NL80211_SCAN_FLAG_FLUSH)
ucfg_scan_flush_results(pdev, NULL);
if (params->scan_probe_unicast_ra)
req->scan_req.scan_ctrl_flags_ext |=
SCAN_FLAG_EXT_FORCE_UNICAST_RA;
osif_debug("scan_ctrl_flags_ext %0x",
req->scan_req.scan_ctrl_flags_ext);
/*
* Acquire wakelock to handle the case where APP's send scan to connect.
* If suspend is received during scan scan will be aborted and APP will

Dosyayı Görüntüle

@@ -158,6 +158,9 @@ struct probe_time_dwell_time {
/* RRM scan type indication */
#define SCAN_FLAG_EXT_RRM_SCAN_IND 0x400
/* Probe request frame with unicast RA indication */
#define SCAN_FLAG_EXT_FORCE_UNICAST_RA 0x1000
/* Passive dwell time if bt_a2dp is enabled. Time in msecs*/
#define PASSIVE_DWELL_TIME_BT_A2DP_ENABLED 28

Dosyayı Görüntüle

@@ -1050,6 +1050,8 @@ scm_scan_req_update_params(struct wlan_objmgr_vdev *vdev,
if (req->scan_req.scan_type == SCAN_TYPE_RRM)
req->scan_req.scan_ctrl_flags_ext |= SCAN_FLAG_EXT_RRM_SCAN_IND;
scm_debug("scan_ctrl_flags_ext %0x", req->scan_req.scan_ctrl_flags_ext);
/*
* Set wide band flag if enabled. This will cause
* phymode TLV being sent to FW.