summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKiran Kumar Lokere <klokere@codeaurora.org>2018-01-10 20:20:14 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2018-01-12 16:47:03 -0800
commit8bd4d889941f6c2ed26055d321161cfbfc601ec0 (patch)
tree8a982de55f93e364fc0f26c63e1a553f2faecce7
parent4eb02d86db8ee8662ff30878a6250f4519caa700 (diff)
qcacld-3.0: Dont send power disable cmd to FW in disconnected state
Do not send power save disable command to FW in disconnected state as the power save is already disabled when STA is disconnected and FW does not expect powersave commands after VDEV is down Change-Id: Iea5a564f1a57f7fa4b8d9c96296d2c2e82c92775 CRs-Fixed: 2171113
-rw-r--r--core/sme/inc/sme_power_save_api.h5
-rw-r--r--core/sme/src/common/sme_power_save.c20
2 files changed, 10 insertions, 15 deletions
diff --git a/core/sme/inc/sme_power_save_api.h b/core/sme/inc/sme_power_save_api.h
index 8ab6c821fba9..509f3f929731 100644
--- a/core/sme/inc/sme_power_save_api.h
+++ b/core/sme/inc/sme_power_save_api.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015-2017 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2015-2018 The Linux Foundation. All rights reserved.
*
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
*
@@ -42,8 +42,7 @@ QDF_STATUS sme_ps_uapsd_enable(tHalHandle hal_ctx, uint32_t session_id);
QDF_STATUS sme_ps_uapsd_disable(tHalHandle hal_ctx, uint32_t session_id);
/* Condition check if driver is ready to enter in PS */
-QDF_STATUS sme_enable_sta_ps_check(tpAniSirGlobal mac_ctx, uint32_t session_id,
- enum sme_ps_cmd command);
+QDF_STATUS sme_enable_sta_ps_check(tpAniSirGlobal mac_ctx, uint32_t session_id);
QDF_STATUS sme_ps_process_command(tpAniSirGlobal mac_ctx,
uint32_t session_id,
diff --git a/core/sme/src/common/sme_power_save.c b/core/sme/src/common/sme_power_save.c
index 851c630f38e6..fe49faab6eb7 100644
--- a/core/sme/src/common/sme_power_save.c
+++ b/core/sme/src/common/sme_power_save.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015-2017 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2015-2018 The Linux Foundation. All rights reserved.
*
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
*
@@ -489,8 +489,7 @@ QDF_STATUS sme_ps_process_command(tpAniSirGlobal mac_ctx, uint32_t session_id,
*
* Return: QDF_STATUS
*/
-QDF_STATUS sme_enable_sta_ps_check(tpAniSirGlobal mac_ctx, uint32_t session_id,
- enum sme_ps_cmd command)
+QDF_STATUS sme_enable_sta_ps_check(tpAniSirGlobal mac_ctx, uint32_t session_id)
{
struct ps_global_info *ps_global_info = &mac_ctx->sme.ps_global_info;
@@ -504,8 +503,7 @@ QDF_STATUS sme_enable_sta_ps_check(tpAniSirGlobal mac_ctx, uint32_t session_id,
* also if command is power save disable there is not need to check
* for connected state as firmware can handle this
*/
- if ((command != SME_PS_DISABLE) &&
- !csr_is_conn_state_connected_infra(mac_ctx, session_id)) {
+ if (!csr_is_conn_state_connected_infra(mac_ctx, session_id)) {
sme_debug("STA not infra/connected state Session_id: %d",
session_id);
return QDF_STATUS_E_FAILURE;
@@ -528,7 +526,7 @@ QDF_STATUS sme_ps_enable_disable(tHalHandle hal_ctx, uint32_t session_id,
QDF_STATUS status = QDF_STATUS_E_FAILURE;
tpAniSirGlobal mac_ctx = PMAC_STRUCT(hal_ctx);
- status = sme_enable_sta_ps_check(mac_ctx, session_id, command);
+ status = sme_enable_sta_ps_check(mac_ctx, session_id);
if (status != QDF_STATUS_SUCCESS)
return status;
status = sme_ps_process_command(mac_ctx, session_id, command);
@@ -545,7 +543,7 @@ QDF_STATUS sme_ps_timer_flush_sync(tHalHandle hal, uint8_t session_id)
struct sEnablePsParams *req;
t_wma_handle *wma;
- status = sme_enable_sta_ps_check(mac_ctx, session_id, SME_PS_ENABLE);
+ status = sme_enable_sta_ps_check(mac_ctx, session_id);
if (QDF_IS_STATUS_ERROR(status)) {
sme_debug("Power save not allowed for vdev id %d", session_id);
return QDF_STATUS_SUCCESS;
@@ -605,8 +603,7 @@ QDF_STATUS sme_ps_uapsd_enable(tHalHandle hal_ctx, uint32_t session_id)
QDF_STATUS status = QDF_STATUS_E_FAILURE;
tpAniSirGlobal mac_ctx = PMAC_STRUCT(hal_ctx);
- status = sme_enable_sta_ps_check(mac_ctx, session_id,
- SME_PS_UAPSD_ENABLE);
+ status = sme_enable_sta_ps_check(mac_ctx, session_id);
if (status != QDF_STATUS_SUCCESS)
return status;
status = sme_ps_process_command(mac_ctx, session_id,
@@ -630,8 +627,7 @@ QDF_STATUS sme_ps_uapsd_disable(tHalHandle hal_ctx, uint32_t session_id)
QDF_STATUS status = QDF_STATUS_E_FAILURE;
tpAniSirGlobal mac_ctx = PMAC_STRUCT(hal_ctx);
- status = sme_enable_sta_ps_check(mac_ctx, session_id,
- SME_PS_UAPSD_DISABLE);
+ status = sme_enable_sta_ps_check(mac_ctx, session_id);
if (status != QDF_STATUS_SUCCESS)
return status;
status = sme_ps_process_command(mac_ctx, session_id,
@@ -1153,7 +1149,7 @@ void sme_auto_ps_entry_timer_expired(void *data)
session_id = ps_params->session_id;
sme_debug("auto_ps_timer expired, enabling powersave");
- status = sme_enable_sta_ps_check(mac_ctx, session_id, SME_PS_ENABLE);
+ status = sme_enable_sta_ps_check(mac_ctx, session_id);
if (QDF_STATUS_SUCCESS == status)
sme_ps_enable_disable((tHalHandle)mac_ctx, session_id,
SME_PS_ENABLE);