mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-15 09:14:18 -04:00
qcacld-3.0: Set extended cap TWT capabilities in roam offload
Set TWT capabilities in extended capability IE in roam scan offload request. Change-Id: I4f07cfff47a2ecc4acf4d43d8885ce65f2fa2141 CRs-Fixed: 2459217
This commit is contained in:
parent
7a6c327af3
commit
0f1f4635cf
4 changed files with 20 additions and 6 deletions
|
|
@ -412,8 +412,9 @@ void lim_fill_join_rsp_ht_caps(struct pe_session *session,
|
|||
struct join_rsp *rsp)
|
||||
{}
|
||||
#endif
|
||||
QDF_STATUS lim_update_ext_cap_ie(struct mac_context *mac_ctx,
|
||||
uint8_t *ie_data, uint8_t *local_ie_buf, uint16_t *local_ie_len);
|
||||
QDF_STATUS lim_update_ext_cap_ie(struct mac_context *mac_ctx, uint8_t *ie_data,
|
||||
uint8_t *local_ie_buf, uint16_t *local_ie_len,
|
||||
struct pe_session *session);
|
||||
|
||||
/**
|
||||
* lim_handle_sap_beacon(): Handle the beacon received from scan module for SAP
|
||||
|
|
|
|||
|
|
@ -2754,11 +2754,13 @@ void lim_mon_init_session(struct mac_context *mac_ptr,
|
|||
* @ie_data: Default Scan IE data
|
||||
* @local_ie_buf: Local Scan IE data
|
||||
* @local_ie_len: Pointer to length of @ie_data
|
||||
* @session: Pointer to pe session
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS lim_update_ext_cap_ie(struct mac_context *mac_ctx,
|
||||
uint8_t *ie_data, uint8_t *local_ie_buf, uint16_t *local_ie_len)
|
||||
QDF_STATUS lim_update_ext_cap_ie(struct mac_context *mac_ctx, uint8_t *ie_data,
|
||||
uint8_t *local_ie_buf, uint16_t *local_ie_len,
|
||||
struct pe_session *session)
|
||||
{
|
||||
uint32_t dot11mode;
|
||||
bool vht_enabled = false;
|
||||
|
|
@ -2806,6 +2808,13 @@ QDF_STATUS lim_update_ext_cap_ie(struct mac_context *mac_ctx,
|
|||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
lim_merge_extcap_struct(&driver_ext_cap, &default_scan_ext_cap, true);
|
||||
|
||||
if (session)
|
||||
populate_dot11f_twt_extended_caps(mac_ctx, session,
|
||||
&driver_ext_cap);
|
||||
else
|
||||
pe_err("Session NULL, cannot set TWT caps");
|
||||
|
||||
local_ie_buf[*local_ie_len + 1] = driver_ext_cap.num_bytes;
|
||||
|
||||
if ((*local_ie_len) > (MAX_DEFAULT_SCAN_IE_LEN -
|
||||
|
|
|
|||
|
|
@ -400,6 +400,7 @@ static void lim_process_set_default_scan_ie_request(struct mac_context *mac_ctx,
|
|||
uint16_t local_ie_len;
|
||||
struct scheduler_msg msg_q = {0};
|
||||
QDF_STATUS ret_code;
|
||||
struct pe_session *pe_session;
|
||||
|
||||
if (!msg_buf) {
|
||||
pe_err("msg_buf is NULL");
|
||||
|
|
@ -413,9 +414,12 @@ static void lim_process_set_default_scan_ie_request(struct mac_context *mac_ctx,
|
|||
if (!local_ie_buf)
|
||||
return;
|
||||
|
||||
pe_session = pe_find_session_by_sme_session_id(mac_ctx,
|
||||
|
||||
set_ie_params->session_id);
|
||||
if (lim_update_ext_cap_ie(mac_ctx,
|
||||
(uint8_t *)set_ie_params->ie_data,
|
||||
local_ie_buf, &local_ie_len)) {
|
||||
local_ie_buf, &local_ie_len, pe_session)) {
|
||||
pe_err("Update ext cap IEs fails");
|
||||
goto scan_ie_send_fail;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3687,7 +3687,7 @@ static void __lim_process_roam_scan_offload_req(struct mac_context *mac_ctx,
|
|||
/* Update ext cap IE if present */
|
||||
if (local_ie_len &&
|
||||
!lim_update_ext_cap_ie(mac_ctx, req_buffer->assoc_ie.addIEdata,
|
||||
local_ie_buf, &local_ie_len)) {
|
||||
local_ie_buf, &local_ie_len, pe_session)) {
|
||||
if (local_ie_len <
|
||||
QDF_ARRAY_SIZE(req_buffer->assoc_ie.addIEdata)) {
|
||||
req_buffer->assoc_ie.length = local_ie_len;
|
||||
|
|
|
|||
Loading…
Reference in a new issue