浏览代码

qcacmn: Fix RSO stopped after roam from MLO to SLO

When roamed from MLO to SLO, clean up vdev1 link, and disable RSO,
but RSO isn't re-enabled when disconnect completed for vdev0 link in
same MLD existed, can't roam until next reconnect.

To fix it, When roamed from MLO to SLO, clean up vdev1 link, don't
disable RSO since it's internal disconnect, no wmi like vdev stop is
sent to F/W too, vdev1 is stopped by F/W already.

Change-Id: Ib83b15352e91cb8ef73fd42bc9a5e1c6181f4ea9
CRs-Fixed: 3844460
Jianmin Zhu 1 年之前
父节点
当前提交
ecbd818bb6
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      umac/mlme/connection_mgr/core/src/wlan_cm_disconnect.c

+ 2 - 1
umac/mlme/connection_mgr/core/src/wlan_cm_disconnect.c

@@ -425,7 +425,8 @@ QDF_STATUS cm_disconnect_active(struct cnx_mgr *cm_ctx, wlan_cm_id *cm_id)
 		return QDF_STATUS_E_INVAL;
 	}
 
-	if (wlan_vdev_mlme_get_opmode(cm_ctx->vdev) == QDF_STA_MODE)
+	if (wlan_vdev_mlme_get_opmode(cm_ctx->vdev) == QDF_STA_MODE &&
+	    cm_req->discon_req.req.source != CM_MLO_ROAM_INTERNAL_DISCONNECT)
 		status = mlme_cm_rso_stop_req(cm_ctx->vdev);
 
 	if (status != QDF_STATUS_E_NOSUPPORT)