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

Commit d19387e6 authored by Deeksha Gupta's avatar Deeksha Gupta Committed by Madan Koyyalamudi
Browse files

qcacld-3.0: Remove roam_invoke_timer stop in case of ROAM_ABORT

Currently, for gEnableNUDTracking=3 ini, if NUD failure
happens, host sends the ROAM_INVOKE_CMD to fw and start
the roam_invoke timer and after roam_timer timeout or
ROAM_INVOKE_FAIL host sends disconnect. Suppose in response,
fw sends ROAM_START and ROAM_ABORT before sending
ROAM_INVOKE_FAIL, then host stops roam_invoke timer
in ROAM_ABORT case. Due to this, in ROAM_INVOKE_FAIL host
doesn't find timer and returns failure without sending
disconnect.

Fix is, remove the roam_invoke timer stop in case of
ROAM_ABORT and add it in north and south bound disconnect.

Change-Id: I6b7790f1e59d137c1476a8ad80fc4f113e86e580
CRs-Fixed: 3132545
parent 677b8b1d
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -16854,6 +16854,11 @@ static void csr_roam_link_down(struct mac_context *mac, uint32_t sessionId)
				       eCSR_ROAM_LOSTLINK,
				       eCSR_ROAM_RESULT_LOSTLINK);
	}
	/* In case of STA mode disconnect, stop the roam_invoke timer */
	if (csr_roam_is_sta_mode(mac, sessionId))
		csr_roam_invoke_timer_stop(mac, sessionId);
	/* Indicate the neighbor roal algorithm about the disconnect
	 * indication
	 */
@@ -21207,7 +21212,6 @@ csr_process_roam_sync_callback(struct mac_context *mac_ctx,
					   REASON_ROAM_ABORT);
		csr_roam_roaming_offload_timer_action(mac_ctx,
				0, session_id, ROAMING_OFFLOAD_TIMER_STOP);
		csr_roam_invoke_timer_stop(mac_ctx, session_id);
		csr_roam_call_callback(mac_ctx, session_id, NULL, 0,
				eCSR_ROAM_ABORT, eCSR_ROAM_RESULT_SUCCESS);
		goto end;