qcacmn: Add support to configure MLD ID in scan request

In the MLO-MBSSID test, STA can request information of
non-Tx BSS through Tx BSS by configuring non-Tx BSS MLD
ID within the ML probe request that is invoked as part
of scan request. Add support to configure MLD ID in
scan start params to FW.

Change-Id: I4a6debf6c3ec830fbe3aee1d3aa60ad7218cbcd6
CRs-Fixed: 3591596
This commit is contained in:
Gururaj Pandurangi
2023-07-31 19:10:30 -07:00
committed by Rahul Choudhary
부모 3d43b6ab94
커밋 852d0cee43
4개의 변경된 파일8개의 추가작업 그리고 0개의 파일을 삭제

파일 보기

@@ -123,6 +123,7 @@ struct scan_req {
* @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
* @mld_id: MLD ID of the requested BSS within ML probe request
*/
struct scan_params {
uint8_t source;
@@ -140,6 +141,7 @@ struct scan_params {
bool scan_probe_unicast_ra;
bool scan_f_2ghz;
bool scan_f_5ghz;
uint8_t mld_id;
};
/**

파일 보기

@@ -1751,6 +1751,8 @@ int wlan_cfg80211_scan(struct wlan_objmgr_vdev *vdev,
osif_debug("scan_ctrl_flags_ext %0x",
req->scan_req.scan_ctrl_flags_ext);
req->scan_req.mld_id = params->mld_id;
/*
* 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

파일 보기

@@ -1122,6 +1122,7 @@ enum scan_request_type {
* @num_hint_bssid: number of BSSID hints
* @hint_s_ssid: short SSID hints
* @hint_bssid: BSSID hints
* @mld_id: MLD ID of the requested BSS within ML probe request
*/
struct scan_req_params {
uint32_t scan_id;
@@ -1222,6 +1223,7 @@ struct scan_req_params {
uint32_t num_hint_bssid;
struct hint_short_ssid hint_s_ssid[WLAN_SCAN_MAX_HINT_S_SSID];
struct hint_bssid hint_bssid[WLAN_SCAN_MAX_HINT_BSSID];
uint8_t mld_id;
};
/**

파일 보기

@@ -4107,6 +4107,8 @@ static QDF_STATUS send_scan_start_cmd_tlv(wmi_unified_t wmi_handle,
cmd->ie_len = params->extraie.len;
cmd->n_probes = params->n_probes;
cmd->scan_ctrl_flags_ext = params->scan_ctrl_flags_ext;
WMI_SCAN_MLD_PARAM_MLD_ID_SET(cmd->mld_parameter, params->mld_id);
wmi_debug("MLD ID: %u", cmd->mld_parameter);
if (params->scan_random.randomize)
wmi_copy_scan_random_mac(params->scan_random.mac_addr,