소스 검색

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 년 전
부모
커밋
93645c4efd
3개의 변경된 파일13개의 추가작업 그리고 1개의 파일을 삭제
  1. 6 0
      umac/cmn_services/obj_mgr/inc/wlan_objmgr_vdev_obj.h
  2. 6 0
      umac/cmn_services/utils/src/wlan_utility.c
  3. 1 1
      umac/mlme/vdev_mgr/core/src/vdev_mgr_ops.c

+ 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);