qcacmn: Fix data stall after roam from mlo to legacy

When roam from mlo to slo/legacy/owe, mlo_cleanup_link is called to
disconnect link vdev, mlme_cm_osif_disconnect_start_ind is called,
WLAN_STOP_ALL_NETIF_QUEUE_N_CARRIER is sent, then Tx queue is disabled,
all tx pkts can't be sent.

To fix it, when disconnect link vdev for roaming to slo/legacy/owe,
don't send WLAN_STOP_ALL_NETIF_QUEUE_N_CARRIER by checking special req
source CM_MLO_ROAM_INTERNAL_DISCONNECT.

Change-Id: Iacfc2f82069b2c21951af97c23c60ea99865a80d
CRs-Fixed: 3600747
Этот коммит содержится в:
Jianmin Zhu
2023-08-30 02:03:30 -07:00
коммит произвёл Rahul Choudhary
родитель dd839c2135
Коммит 63ab6adb20

Просмотреть файл

@@ -461,7 +461,8 @@ static QDF_STATUS osif_cm_disconnect_start_cb(struct wlan_objmgr_vdev *vdev,
enum wlan_cm_source source)
{
/* Don't stop netif queues for link switch disconnect */
if (source == CM_MLO_LINK_SWITCH_DISCONNECT)
if (source == CM_MLO_LINK_SWITCH_DISCONNECT ||
source == CM_MLO_ROAM_INTERNAL_DISCONNECT)
return QDF_STATUS_SUCCESS;
/* Disable netif queue on disconnect start */