Parcourir la source

qcacld-3.0: Succeed when offload config is disabled

PMO returns failure codes for enable/disable of NS and MC List offloads
when their respective configurations are disabled. As this is expected
behavior, return success instead.

Change-Id: I91b00da9b4026f5975c14f5889cd913b13e1347b
CRs-Fixed: 2323312
Dustin Brown il y a 6 ans
Parent
commit
7cc1f4cd0f

+ 6 - 9
components/pmo/core/src/wlan_pmo_mc_addr_filtering.c

@@ -435,7 +435,7 @@ static QDF_STATUS pmo_core_handle_enable_mc_list_trigger(
 			enum pmo_offload_trigger trigger)
 {
 	struct pmo_vdev_priv_obj *vdev_ctx;
-	QDF_STATUS status;
+	QDF_STATUS status = QDF_STATUS_SUCCESS;
 	struct pmo_mc_addr_list *op_mc_list_req;
 
 	pmo_enter();
@@ -454,7 +454,6 @@ static QDF_STATUS pmo_core_handle_enable_mc_list_trigger(
 		if (!vdev_ctx->pmo_psoc_ctx->psoc_cfg.active_mode_offload) {
 			pmo_debug("active offload is disabled, skip in mode %d",
 				  trigger);
-			status = QDF_STATUS_SUCCESS;
 			goto free_req;
 		}
 		status = pmo_core_do_enable_mc_addr_list(vdev, vdev_ctx,
@@ -464,7 +463,6 @@ static QDF_STATUS pmo_core_handle_enable_mc_list_trigger(
 		if (vdev_ctx->pmo_psoc_ctx->psoc_cfg.active_mode_offload) {
 			pmo_debug("active offload is enabled, skip in mode %d",
 				  trigger);
-			status = QDF_STATUS_SUCCESS;
 			goto free_req;
 		}
 		status = pmo_core_do_enable_mc_addr_list(vdev, vdev_ctx,
@@ -538,7 +536,7 @@ static QDF_STATUS pmo_core_handle_disable_mc_list_trigger(
 			struct wlan_objmgr_vdev *vdev,
 			enum pmo_offload_trigger trigger)
 {
-	QDF_STATUS status;
+	QDF_STATUS status = QDF_STATUS_SUCCESS;
 	struct pmo_vdev_priv_obj *vdev_ctx;
 	struct pmo_mc_addr_list *op_mc_list_req;
 
@@ -557,21 +555,19 @@ static QDF_STATUS pmo_core_handle_disable_mc_list_trigger(
 		if (!vdev_ctx->pmo_psoc_ctx->psoc_cfg.active_mode_offload) {
 			pmo_debug("active offload is disabled, skip in mode %d",
 				  trigger);
-			status = QDF_STATUS_E_INVAL;
 			goto free_req;
 		}
 		status = pmo_core_do_disable_mc_addr_list(vdev, vdev_ctx,
-				op_mc_list_req);
+							  op_mc_list_req);
 		break;
 	case pmo_apps_resume:
 		if (vdev_ctx->pmo_psoc_ctx->psoc_cfg.active_mode_offload) {
 			pmo_debug("active offload is enabled, skip in mode %d",
 				  trigger);
-			status = QDF_STATUS_E_INVAL;
 			goto free_req;
 		}
 		status = pmo_core_do_disable_mc_addr_list(vdev, vdev_ctx,
-				op_mc_list_req);
+							  op_mc_list_req);
 		break;
 	default:
 		status = QDF_STATUS_E_INVAL;
@@ -595,9 +591,10 @@ QDF_STATUS pmo_core_disable_mc_addr_filtering_in_fwr(
 	struct wlan_objmgr_vdev *vdev;
 
 	pmo_enter();
+
 	if (!psoc) {
 		pmo_err("psoc is NULL");
-		status = QDF_STATUS_E_NULL_VALUE;
+		status = QDF_STATUS_E_INVAL;
 		goto out;
 	}
 

+ 4 - 10
components/pmo/core/src/wlan_pmo_ns.c

@@ -162,8 +162,7 @@ static QDF_STATUS pmo_core_do_enable_ns_offload(struct wlan_objmgr_vdev *vdev,
 	case pmo_ns_offload_dynamic_update:
 		if (!psoc_ctx->psoc_cfg.active_mode_offload) {
 			pmo_debug("active offload is disabled, skip in mode:%d",
-				trigger);
-			status = QDF_STATUS_SUCCESS;
+				  trigger);
 			goto out;
 		}
 		/* enable arp when active offload is true (ipv6 notifier) */
@@ -172,8 +171,7 @@ static QDF_STATUS pmo_core_do_enable_ns_offload(struct wlan_objmgr_vdev *vdev,
 	case pmo_apps_suspend:
 		if (psoc_ctx->psoc_cfg.active_mode_offload) {
 			pmo_debug("active offload is enabled, skip in mode: %d",
-				trigger);
-			status = QDF_STATUS_SUCCESS;
+				  trigger);
 			goto out;
 		}
 		/* enable arp when active offload is false (apps suspend) */
@@ -205,8 +203,7 @@ static QDF_STATUS pmo_core_do_disable_ns_offload(struct wlan_objmgr_vdev *vdev,
 	case pmo_ns_offload_dynamic_update:
 		if (!psoc_ctx->psoc_cfg.active_mode_offload) {
 			pmo_debug("active offload is disabled, skip in mode:%d",
-				trigger);
-			status = QDF_STATUS_E_INVAL;
+				  trigger);
 			goto out;
 		}
 		/* config ns when active offload is enable */
@@ -215,8 +212,7 @@ static QDF_STATUS pmo_core_do_disable_ns_offload(struct wlan_objmgr_vdev *vdev,
 	case pmo_apps_resume:
 		if (psoc_ctx->psoc_cfg.active_mode_offload) {
 			pmo_debug("active offload is enabled, skip in mode: %d",
-				trigger);
-			status = QDF_STATUS_E_INVAL;
+				  trigger);
 			goto out;
 		}
 		/* config arp/ns when active offload is disable */
@@ -378,7 +374,6 @@ QDF_STATUS pmo_core_enable_ns_offload_in_fwr(struct wlan_objmgr_vdev *vdev,
 
 	if (!vdev_ctx->pmo_psoc_ctx->psoc_cfg.ns_offload_enable_dynamic) {
 		pmo_debug("ns offload dynamically disable");
-		status = QDF_STATUS_E_INVAL;
 		goto dec_ref;
 	}
 
@@ -439,7 +434,6 @@ QDF_STATUS pmo_core_disable_ns_offload_in_fwr(struct wlan_objmgr_vdev *vdev,
 
 	if (!vdev_ctx->pmo_psoc_ctx->psoc_cfg.ns_offload_enable_dynamic) {
 		pmo_debug("ns offload dynamically disable");
-		status = QDF_STATUS_E_INVAL;
 		goto dec_ref;
 	}