From 7cc1f4cd0fa7ef3dee0de0105c57b960ef5b90b5 Mon Sep 17 00:00:00 2001 From: Dustin Brown Date: Wed, 26 Sep 2018 11:46:39 -0700 Subject: [PATCH] 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 --- .../pmo/core/src/wlan_pmo_mc_addr_filtering.c | 15 ++++++--------- components/pmo/core/src/wlan_pmo_ns.c | 14 ++++---------- 2 files changed, 10 insertions(+), 19 deletions(-) diff --git a/components/pmo/core/src/wlan_pmo_mc_addr_filtering.c b/components/pmo/core/src/wlan_pmo_mc_addr_filtering.c index 2198ade661da..5620ef4c9437 100644 --- a/components/pmo/core/src/wlan_pmo_mc_addr_filtering.c +++ b/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; } diff --git a/components/pmo/core/src/wlan_pmo_ns.c b/components/pmo/core/src/wlan_pmo_ns.c index 73fc024481d4..291cbe0d2a23 100644 --- a/components/pmo/core/src/wlan_pmo_ns.c +++ b/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; }