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
This commit is contained in:
Jianmin Zhu
2024-06-18 03:17:12 -07:00
committed by Ravindra Konda
parent b03b971b86
commit ecbd818bb6

View File

@@ -425,7 +425,8 @@ QDF_STATUS cm_disconnect_active(struct cnx_mgr *cm_ctx, wlan_cm_id *cm_id)
return QDF_STATUS_E_INVAL; 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); status = mlme_cm_rso_stop_req(cm_ctx->vdev);
if (status != QDF_STATUS_E_NOSUPPORT) if (status != QDF_STATUS_E_NOSUPPORT)