Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f82dd790 authored by Pragaspathi Thilagaraj's avatar Pragaspathi Thilagaraj
Browse files

qcacld-3.0: Update fils erp sequence number after roaming

Fils info is stored per vdev. In RSO scan mode command, in FILS
TLV, the next ERP sequence number to be used in the next FILS
connection is sent to firmware and is filled from the vdev fils
info. But after roam sych event is received, the erp sequence
number is not updated in the vdev fils info, causing FILS roaming
failure.

Update the fils erp sequence number to vdev fils info after
roaming.

Change-Id: Ibc624d9c4b0fc535c430881d3033169b002c8419
CRs-Fixed: 2988113
parent 11947bae
Loading
Loading
Loading
Loading
+14 −3
Original line number Diff line number Diff line
@@ -20554,12 +20554,20 @@ static void csr_copy_fils_join_rsp_roam_info(struct csr_roam_info *roam_info,
 * Return: NONE
 */
static
void csr_update_fils_erp_seq_num(struct csr_roam_profile *roam_profile,
void csr_update_fils_erp_seq_num(struct wlan_objmgr_psoc *psoc,
				 uint8_t vdev_id,
				 struct csr_roam_profile *roam_profile,
				 uint16_t erp_next_seq_num)
{
	struct wlan_fils_connection_info *fils_info;
	if (roam_profile->fils_con_info)
		roam_profile->fils_con_info->erp_sequence_number =
				erp_next_seq_num;
	fils_info = wlan_cm_get_fils_connection_info(psoc, vdev_id);
	if (fils_info)
		fils_info->erp_sequence_number = erp_next_seq_num;
}
#else
static inline
@@ -20568,7 +20576,9 @@ void csr_copy_fils_join_rsp_roam_info(struct csr_roam_info *roam_info,
{}
static inline
void csr_update_fils_erp_seq_num(struct csr_roam_profile *roam_profile,
void csr_update_fils_erp_seq_num(struct wlan_objmgr_psoc *psoc,
				 uint8_t vdev_id,
				 struct csr_roam_profile *roam_profile,
				 uint16_t erp_next_seq_num)
{}
#endif
@@ -21496,7 +21506,8 @@ csr_process_roam_sync_callback(struct mac_context *mac_ctx,
	roam_info->update_erp_next_seq_num =
			roam_synch_data->update_erp_next_seq_num;
	roam_info->next_erp_seq_num = roam_synch_data->next_erp_seq_num;
	csr_update_fils_erp_seq_num(session->pCurRoamProfile,
	csr_update_fils_erp_seq_num(mac_ctx->psoc, session_id,
				    session->pCurRoamProfile,
				    roam_info->next_erp_seq_num);
	sme_debug("Update ERP Seq Num : %d, Next ERP Seq Num : %d",
			roam_info->update_erp_next_seq_num,