Explorar el Código

qcacld-3.0: Fix status overwrite by disconnect req

Fix status overwrite by disconnect req if
WLAN_CM_SM_EV_ROAM_INVOKE_FAIL fail

Change-Id: I014965faf89c3bf8efc8b2036fc0f0466239fc19
CRs-Fixed: 2969763
Deeksha Gupta hace 3 años
padre
commit
785ab5431d

+ 3 - 3
components/umac/mlme/connection_mgr/core/src/wlan_cm_roam_fw_sync.c

@@ -923,6 +923,9 @@ QDF_STATUS cm_fw_roam_invoke_fail(struct wlan_objmgr_psoc *psoc,
 	status = cm_sm_deliver_event(vdev, WLAN_CM_SM_EV_ROAM_INVOKE_FAIL,
 				     sizeof(wlan_cm_id), &cm_id);
 
+	if (QDF_IS_STATUS_ERROR(status))
+		cm_remove_cmd(cm_ctx, &cm_id);
+
 	if (source == CM_ROAMING_HOST ||
 	    source == CM_ROAMING_NUD_FAILURE)
 		status = cm_disconnect(psoc, vdev_id,
@@ -930,9 +933,6 @@ QDF_STATUS cm_fw_roam_invoke_fail(struct wlan_objmgr_psoc *psoc,
 				       REASON_USER_TRIGGERED_ROAM_FAILURE,
 				       NULL);
 
-	if (QDF_IS_STATUS_ERROR(status))
-		cm_remove_cmd(cm_ctx, &cm_id);
-
 error:
 	wlan_objmgr_vdev_release_ref(vdev, WLAN_MLME_SB_ID);
 	return status;