Selaa lähdekoodia

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 vuosi sitten
vanhempi
sitoutus
ecbd818bb6
1 muutettua tiedostoa jossa 2 lisäystä ja 1 poistoa
  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)