|
@@ -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;
|