|
@@ -277,13 +277,12 @@ QDF_STATUS pmo_core_ns_check_offload(struct wlan_objmgr_psoc *psoc,
|
|
|
vdev_ctx = pmo_vdev_get_priv(vdev);
|
|
|
psoc_ctx = vdev_ctx->pmo_psoc_ctx;
|
|
|
|
|
|
- if (trigger == pmo_apps_suspend) {
|
|
|
+ if (trigger == pmo_apps_suspend || trigger == pmo_apps_resume) {
|
|
|
active_offload_cond = psoc_ctx->psoc_cfg.active_mode_offload;
|
|
|
|
|
|
qdf_spin_lock_bh(&vdev_ctx->pmo_vdev_lock);
|
|
|
- is_applied_cond =
|
|
|
- vdev_ctx->vdev_ns_req.enable == PMO_OFFLOAD_ENABLE &&
|
|
|
- vdev_ctx->vdev_ns_req.is_offload_applied;
|
|
|
+ is_applied_cond = vdev_ctx->vdev_ns_req.enable &&
|
|
|
+ vdev_ctx->vdev_ns_req.is_offload_applied;
|
|
|
qdf_spin_unlock_bh(&vdev_ctx->pmo_vdev_lock);
|
|
|
|
|
|
if (active_offload_cond && is_applied_cond) {
|
|
@@ -291,20 +290,6 @@ QDF_STATUS pmo_core_ns_check_offload(struct wlan_objmgr_psoc *psoc,
|
|
|
wlan_objmgr_vdev_release_ref(vdev, WLAN_PMO_ID);
|
|
|
return QDF_STATUS_E_INVAL;
|
|
|
}
|
|
|
- } else if (trigger == pmo_apps_resume) {
|
|
|
- active_offload_cond = psoc_ctx->psoc_cfg.active_mode_offload;
|
|
|
-
|
|
|
- qdf_spin_lock_bh(&vdev_ctx->pmo_vdev_lock);
|
|
|
- is_applied_cond =
|
|
|
- vdev_ctx->vdev_ns_req.enable == PMO_OFFLOAD_DISABLE &&
|
|
|
- !vdev_ctx->vdev_ns_req.is_offload_applied;
|
|
|
- qdf_spin_unlock_bh(&vdev_ctx->pmo_vdev_lock);
|
|
|
-
|
|
|
- if (active_offload_cond && is_applied_cond) {
|
|
|
- pmo_debug("active offload is enabled and offload already disabled");
|
|
|
- wlan_objmgr_vdev_release_ref(vdev, WLAN_PMO_ID);
|
|
|
- return QDF_STATUS_E_INVAL;
|
|
|
- }
|
|
|
}
|
|
|
wlan_objmgr_vdev_release_ref(vdev, WLAN_PMO_ID);
|
|
|
out:
|