Эх сурвалжийг харах

qcacmn: Ignore down pending flag for bridge vap

Ignore setting vdev down pending flag for MLO bridge vap

Change-Id: I445484dc557a45230f287b3854d6ef85ca73140f
CRs-Fixed: 3603860
Balaganapathy Palanisamy 1 жил өмнө
parent
commit
93645c4efd

+ 6 - 0
umac/cmn_services/obj_mgr/inc/wlan_objmgr_vdev_obj.h

@@ -1934,6 +1934,12 @@ bool wlan_vdev_mlme_is_mlo_vdev(struct wlan_objmgr_vdev *vdev)
 	return false;
 }
 
+static inline bool
+wlan_vdev_mlme_is_mlo_bridge_vdev(struct wlan_objmgr_vdev *vdev)
+{
+	return false;
+}
+
 static inline bool wlan_vdev_mlme_is_mlo_ap(struct wlan_objmgr_vdev *vdev)
 {
 	return false;

+ 6 - 0
umac/cmn_services/utils/src/wlan_utility.c

@@ -1707,6 +1707,9 @@ static void wlan_vdev_down_pending(struct wlan_objmgr_pdev *pdev,
 	if (!psoc)
 		return;
 
+	if (wlan_vdev_mlme_is_mlo_bridge_vdev(vdev))
+		return;
+
 	cmd_type = wlan_serialization_get_vdev_active_cmd_type(vdev);
 	wlan_vdev_obj_lock(vdev);
 	if ((wlan_vdev_mlme_is_init_state(vdev) != QDF_STATUS_SUCCESS) ||
@@ -1739,6 +1742,9 @@ static void wlan_vdev_ap_down_pending(struct wlan_objmgr_pdev *pdev,
 	if (wlan_vdev_mlme_get_opmode(vdev) != QDF_SAP_MODE)
 		return;
 
+	if (wlan_vdev_mlme_is_mlo_bridge_vdev(vdev))
+		return;
+
 	cmd_type = wlan_serialization_get_vdev_active_cmd_type(vdev);
 	wlan_vdev_obj_lock(vdev);
 	if ((wlan_vdev_mlme_is_init_state(vdev) != QDF_STATUS_SUCCESS) ||

+ 1 - 1
umac/mlme/vdev_mgr/core/src/vdev_mgr_ops.c

@@ -274,7 +274,7 @@ mlo_ap_append_bridge_vdevs(struct wlan_objmgr_vdev *vdev,
 	if (!vdev || !mlo_ptr)
 		return QDF_STATUS_E_FAILURE;
 
-	if (p_idx >= WLAN_UMAC_MLO_MAX_VDEVS)
+	if (p_idx > WLAN_UMAC_MLO_MAX_VDEVS)
 		return QDF_STATUS_E_FAILURE;
 
 	mlo_ap_get_bridge_vdev_list(vdev, &num_links, bridge_vdev_list);