Bladeren bron

qcacld-3.0: Nuke HDD and SME obsolete wow enter and exit APIs

WoW is always enabled on ROME and ADRASTEA platforms and wow
wake up pattern configuration is dynamic based on vdev type.
All wow wake up patterns are configured at the time of vdev
creation. HDD and SME has obsolete wow enter and exit logic
and hence nuke it.

Change-Id: I228ff5b77a7f9dac579448ada4ebee591d5a0c38
CRs-Fixed: 2198644
Rajeev Kumar 7 jaren geleden
bovenliggende
commit
d056536a27

+ 1 - 21
core/hdd/inc/wlan_hdd_wowl.h

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013-2017 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2013-2018 The Linux Foundation. All rights reserved.
  *
  * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
  *
@@ -153,26 +153,6 @@ bool hdd_add_wowl_ptrn_debugfs(struct hdd_adapter *adapter, uint8_t pattern_idx,
 bool hdd_del_wowl_ptrn_debugfs(struct hdd_adapter *adapter,
 			       uint8_t pattern_idx);
 
-/**
- * hdd_enter_wowl() - Function which will enable WoWL. At least one
- *		      of MP and PBM must be enabled
- * @adapter: pointer to the adapter
- * @enable_mp: Whether to enable magic packet WoWL mode
- * @enable_pbm: Whether to enable pattern byte matching WoWL mode
- *
- * Return: false if any errors encountered, true otherwise
- */
-bool hdd_enter_wowl(struct hdd_adapter *adapter,
-		    bool enable_mp, bool enable_pbm);
-
-/**
- * hdd_exit_wowl() - Function which will disable WoWL
- * @adapter: pointer to the adapter
- *
- * Return: false if any errors encountered, true otherwise
- */
-bool hdd_exit_wowl(struct hdd_adapter *adapter);
-
 /**
  * hdd_free_user_wowl_ptrns() - Deinit function to cleanup WoWL allocated memory
  *

+ 1 - 133
core/hdd/src/wlan_hdd_debugfs.c

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013-2017 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2013-2018 The Linux Foundation. All rights reserved.
  *
  * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
  *
@@ -50,126 +50,6 @@
 #define POWER_DEBUGFS_BUFFER_MAX_LEN 4096
 #endif
 
-/**
- * __wcnss_wowenable_write() - wow_enable debugfs handler
- * @file: debugfs file handle
- * @buf: text being written to the debugfs
- * @count: size of @buf
- * @ppos: (unused) offset into the virtual file system
- *
- * Return: number of bytes processed
- */
-static ssize_t __wcnss_wowenable_write(struct file *file,
-				     const char __user *buf, size_t count,
-				     loff_t *ppos)
-{
-	struct hdd_adapter *adapter;
-	struct hdd_context *hdd_ctx;
-	char cmd[MAX_USER_COMMAND_SIZE_WOWL_ENABLE + 1];
-	char *sptr, *token;
-	uint8_t wow_enable = 0;
-	uint8_t wow_mp = 0;
-	uint8_t wow_pbm = 0;
-	int ret;
-
-	ENTER();
-
-	adapter = (struct hdd_adapter *)file->private_data;
-	if ((NULL == adapter) || (WLAN_HDD_ADAPTER_MAGIC != adapter->magic)) {
-		hdd_err("Invalid adapter or adapter has invalid magic");
-		return -EINVAL;
-	}
-
-	hdd_ctx = WLAN_HDD_GET_CTX(adapter);
-	ret = wlan_hdd_validate_context(hdd_ctx);
-	if (0 != ret)
-		return ret;
-
-	if (!wlan_hdd_validate_modules_state(hdd_ctx))
-		return -EINVAL;
-
-	if (!sme_is_feature_supported_by_fw(WOW)) {
-		hdd_err("Wake-on-Wireless feature is not supported in firmware!");
-		return -EINVAL;
-	}
-
-	if (count > MAX_USER_COMMAND_SIZE_WOWL_ENABLE) {
-		hdd_err("Command length is larger than %d bytes",
-			MAX_USER_COMMAND_SIZE_WOWL_ENABLE);
-		return -EINVAL;
-	}
-
-	/* Get command from user */
-	if (copy_from_user(cmd, buf, count))
-		return -EFAULT;
-	cmd[count] = '\0';
-	sptr = cmd;
-
-	/* Get enable or disable wow */
-	token = strsep(&sptr, " ");
-	if (!token)
-		return -EINVAL;
-	if (kstrtou8(token, 0, &wow_enable))
-		return -EINVAL;
-
-	/* Disable wow */
-	if (!wow_enable) {
-		if (!hdd_exit_wowl(adapter)) {
-			hdd_err("hdd_exit_wowl failed!");
-			return -EFAULT;
-		}
-
-		return count;
-	}
-
-	/* Get enable or disable magic packet mode */
-	token = strsep(&sptr, " ");
-	if (!token)
-		return -EINVAL;
-	if (kstrtou8(token, 0, &wow_mp))
-		return -EINVAL;
-	if (wow_mp > 1)
-		wow_mp = 1;
-
-	/* Get enable or disable pattern byte matching mode */
-	token = strsep(&sptr, " ");
-	if (!token)
-		return -EINVAL;
-	if (kstrtou8(token, 0, &wow_pbm))
-		return -EINVAL;
-	if (wow_pbm > 1)
-		wow_pbm = 1;
-
-	if (!hdd_enter_wowl(adapter, wow_mp, wow_pbm)) {
-		hdd_err("hdd_enter_wowl failed!");
-		return -EFAULT;
-	}
-	EXIT();
-	return count;
-}
-
-/**
- * wcnss_wowenable_write() - SSR wrapper for wcnss_wowenable_write
- * @file: file pointer
- * @buf: buffer
- * @count: count
- * @ppos: position pointer
- *
- * Return: 0 on success, error number otherwise
- */
-static ssize_t wcnss_wowenable_write(struct file *file,
-				 const char __user *buf,
-				 size_t count, loff_t *ppos)
-{
-	ssize_t ret;
-
-	cds_ssr_protect(__func__);
-	ret = __wcnss_wowenable_write(file, buf, count, ppos);
-	cds_ssr_unprotect(__func__);
-
-	return ret;
-}
-
 /**
  * __wcnss_wowpattern_write() - wow_pattern debugfs handler
  * @file: debugfs file handle
@@ -779,13 +659,6 @@ static int wcnss_debugfs_open(struct inode *inode, struct file *file)
 	return ret;
 }
 
-static const struct file_operations fops_wowenable = {
-	.write = wcnss_wowenable_write,
-	.open = wcnss_debugfs_open,
-	.owner = THIS_MODULE,
-	.llseek = default_llseek,
-};
-
 static const struct file_operations fops_wowpattern = {
 	.write = wcnss_wowpattern_write,
 	.open = wcnss_debugfs_open,
@@ -852,11 +725,6 @@ QDF_STATUS hdd_debugfs_init(struct hdd_adapter *adapter)
 	if (NULL == adapter->debugfs_phy)
 		return QDF_STATUS_E_FAILURE;
 
-	if (NULL == debugfs_create_file("wow_enable", 00400 | 00200,
-					adapter->debugfs_phy, adapter,
-					&fops_wowenable))
-		return QDF_STATUS_E_FAILURE;
-
 	if (NULL == debugfs_create_file("wow_pattern", 00400 | 00200,
 					adapter->debugfs_phy, adapter,
 					&fops_wowpattern))

+ 1 - 30
core/hdd/src/wlan_hdd_wext.c

@@ -5570,7 +5570,6 @@ static int __iw_setint_getnone(struct net_device *dev,
 	int sub_cmd = value[0];
 	int set_value = value[1];
 	int ret;
-	int enable_pbm, enable_mp;
 	QDF_STATUS status;
 	void *soc = NULL;
 	struct cdp_pdev *pdev = NULL;
@@ -5616,34 +5615,6 @@ static int __iw_setint_getnone(struct net_device *dev,
 		break;
 	}
 
-	case WE_WOWL:
-	{
-		if (!hHal)
-			return -EINVAL;
-
-		switch (set_value) {
-		case 0x00:
-			hdd_exit_wowl(adapter);
-			break;
-		case 0x01:
-		case 0x02:
-		case 0x03:
-			enable_mp = (set_value & 0x01) ? 1 : 0;
-			enable_pbm = (set_value & 0x02) ? 1 : 0;
-			hdd_debug("magic packet ? = %s pattern byte matching ? = %s",
-			       (enable_mp ? "YES" : "NO"),
-			       (enable_pbm ? "YES" : "NO"));
-			hdd_enter_wowl(adapter, enable_mp, enable_pbm);
-			break;
-		default:
-			hdd_err("Invalid arg  %d in WE_WOWL IOCTL",
-			       set_value);
-			ret = -EINVAL;
-			break;
-		}
-
-		break;
-	}
 	case WE_SET_POWER:
 	{
 		if (!hHal)
@@ -6806,7 +6777,7 @@ static int __iw_setint_getnone(struct net_device *dev,
 		hdd_ctx->config->enableModulatedDTIM = set_value;
 		break;
 	default:
-		hdd_err("Invalid sub command %d", sub_cmd);
+		hdd_debug("Invalid sub command %d", sub_cmd);
 		ret = -EINVAL;
 		break;
 	}

+ 1 - 91
core/hdd/src/wlan_hdd_wowl.c

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013-2017 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2013-2018 The Linux Foundation. All rights reserved.
  *
  * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
  *
@@ -59,20 +59,6 @@ static inline int find_ptrn_len(const char *ptrn)
 	return len;
 }
 
-static void hdd_wowl_callback(void *pContext, QDF_STATUS qdf_ret_status)
-{
-	hdd_info("Return code = (%d)", qdf_ret_status);
-}
-
-#ifdef WLAN_WAKEUP_EVENTS
-static void hdd_wowl_wake_indication_callback(void *pContext,
-		tpSirWakeReasonInd wake_reason_ind)
-{
-	hdd_info("Wake Reason %d", wake_reason_ind->ulReason);
-	hdd_exit_wowl((struct hdd_adapter *) pContext);
-}
-#endif
-
 /**
  * dump_hdd_wowl_ptrn() - log wow patterns
  * @ptrn: pointer to wow pattern
@@ -451,82 +437,6 @@ bool hdd_del_wowl_ptrn_debugfs(struct hdd_adapter *adapter,
 	return true;
 }
 
-/**
- * hdd_enter_wowl() - Function which will enable WoWL. At least one
- *		      of MP and PBM must be enabled
- * @adapter: pointer to the adapter
- * @enable_mp: Whether to enable magic packet WoWL mode
- * @enable_pbm: Whether to enable pattern byte matching WoWL mode
- *
- * Return: false if any errors encountered, true otherwise
- */
-bool hdd_enter_wowl(struct hdd_adapter *adapter,
-		    bool enable_mp, bool enable_pbm)
-{
-	tSirSmeWowlEnterParams wowParams;
-	QDF_STATUS qdf_ret_status;
-	tHalHandle hHal = WLAN_HDD_GET_HAL_CTX(adapter);
-
-	qdf_mem_zero(&wowParams, sizeof(tSirSmeWowlEnterParams));
-
-	wowParams.ucPatternFilteringEnable = enable_pbm;
-	wowParams.ucMagicPktEnable = enable_mp;
-	wowParams.sessionId = adapter->session_id;
-	if (enable_mp) {
-		qdf_copy_macaddr(&wowParams.magic_ptrn,
-				 &adapter->mac_addr);
-	}
-#ifdef WLAN_WAKEUP_EVENTS
-	wowParams.ucWoWEAPIDRequestEnable = true;
-	wowParams.ucWoWEAPOL4WayEnable = true;
-	wowParams.ucWowNetScanOffloadMatch = true;
-	wowParams.ucWowGTKRekeyError = true;
-	wowParams.ucWoWBSSConnLoss = true;
-#endif /* WLAN_WAKEUP_EVENTS */
-
-	/* Request to put FW into WoWL */
-	qdf_ret_status = sme_enter_wowl(hHal, hdd_wowl_callback, adapter,
-#ifdef WLAN_WAKEUP_EVENTS
-					hdd_wowl_wake_indication_callback,
-					adapter,
-#endif /* WLAN_WAKEUP_EVENTS */
-					&wowParams, adapter->session_id);
-
-	if (!QDF_IS_STATUS_SUCCESS(qdf_ret_status)) {
-		if (QDF_STATUS_PMC_PENDING != qdf_ret_status) {
-			/* We failed to enter WoWL */
-			hdd_err("sme_enter_wowl failed with error code (%d)",
-				qdf_ret_status);
-			return false;
-		}
-	}
-	return true;
-}
-
-/**
- * hdd_exit_wowl() - Function which will disable WoWL
- * @adapter: pointer to the adapter
- *
- * Return: false if any errors encountered, true otherwise
- */
-bool hdd_exit_wowl(struct hdd_adapter *adapter)
-{
-	tSirSmeWowlExitParams wowParams;
-	tHalHandle hHal = WLAN_HDD_GET_HAL_CTX(adapter);
-	QDF_STATUS qdf_ret_status;
-
-	wowParams.sessionId = adapter->session_id;
-
-	qdf_ret_status = sme_exit_wowl(hHal, &wowParams);
-	if (!QDF_IS_STATUS_SUCCESS(qdf_ret_status)) {
-		hdd_err("sme_exit_wowl failed with error code (%d)",
-			qdf_ret_status);
-		return false;
-	}
-
-	return true;
-}
-
 void hdd_free_user_wowl_ptrns(void)
 {
 	int i;

+ 0 - 99
core/sme/src/common/sme_api.c

@@ -4124,105 +4124,6 @@ QDF_STATUS sme_oem_get_capability(tHalHandle hal,
 }
 #endif
 
-/**
- * sme_enter_wowl(): SME API exposed to HDD to request enabling of WOWL mode.
- * @hal_ctx - The handle returned by mac_open.
- * @enter_wowl_callback_routine -  Callback routine provided by HDD.
- *		Used for success/failure notification by SME
- * @enter_wowl_callback_context - A cookie passed by HDD, that is passed
- *		back to HDD at the time of callback.
- * @wake_reason_ind_cb -  Callback routine provided by HDD.
- *		Used for Wake Reason Indication by SME
- * @wake_reason_ind_cb_ctx - A cookie passed by HDD, that is passed
- *		back to HDD at the time of callback.
- *
- * WoWLAN works on top of BMPS mode.
- * If the device is not in BMPS mode,
- * SME will will cache the information that
- * WOWL has been enabled and attempt to put the device
- * in BMPS. On entry into BMPS, SME will enable the
- * WOWL mode.
- * Note 1: If we exit BMPS mode (someone requests full power),
- * we will NOT resume WOWL when we go back to BMPS again.
- * Request for full power (while in WOWL mode) means disable
- * WOWL and go to full power.
- * Note 2: Both UAPSD and WOWL work on top of BMPS.
- * On entry into BMPS, SME will give priority to UAPSD and
- * enable only UAPSD if both UAPSD and WOWL are required.
- * Currently there is no requirement or use case to support
- * UAPSD and WOWL at the same time.
- *
- * Return: QDF_STATUS
- *	QDF_STATUS_SUCCESS  Device is already in WoWLAN mode
- *	QDF_STATUS_E_FAILURE  Device cannot enter WoWLAN mode.
- *	QDF_STATUS_PMC_PENDING  Request accepted. SME will enable
- *			WOWL after BMPS mode is entered.
- */
-QDF_STATUS sme_enter_wowl(tHalHandle hal_ctx,
-		void (*enter_wowl_callback_routine)(void
-			*callback_context,
-			QDF_STATUS status),
-		void *enter_wowl_callback_context,
-#ifdef WLAN_WAKEUP_EVENTS
-		void (*wakeIndicationCB)(void *callback_context,
-			tpSirWakeReasonInd
-			wake_reason_ind),
-		void *wakeIndicationCBContext,
-#endif /* WLAN_WAKEUP_EVENTS */
-		tpSirSmeWowlEnterParams wowl_enter_params,
-		uint8_t session_id)
-{
-	QDF_STATUS status = QDF_STATUS_E_FAILURE;
-	tpAniSirGlobal mac_ctx = PMAC_STRUCT(hal_ctx);
-	struct ps_global_info *ps_global_info = &mac_ctx->sme.ps_global_info;
-
-	MTRACE(qdf_trace(QDF_MODULE_ID_SME,
-			TRACE_CODE_SME_RX_HDD_ENTER_WOWL, session_id, 0));
-
-	/* cache the WOWL information */
-	ps_global_info->ps_params[session_id].wowl_enter_params =
-		*wowl_enter_params;
-	ps_global_info->ps_params[session_id].enter_wowl_callback_routine =
-		enter_wowl_callback_routine;
-	ps_global_info->ps_params[session_id].enter_wowl_callback_context =
-		enter_wowl_callback_context;
-#ifdef WLAN_WAKEUP_EVENTS
-	/* Cache the Wake Reason Indication callback information */
-	ps_global_info->ps_params[session_id].wake_reason_ind_cb =
-		wakeIndicationCB;
-	ps_global_info->ps_params[session_id].wake_reason_ind_cb_ctx =
-		wakeIndicationCBContext;
-#endif /* WLAN_WAKEUP_EVENTS */
-
-	status = sme_ps_process_command(mac_ctx, session_id, SME_PS_WOWL_ENTER);
-	return status;
-}
-/**
- *sme_exit_wowl(): SME API exposed to HDD to request exit from WoWLAN mode.
- * @hal_ctx - The handle returned by mac_open.
- * @wowl_exit_params - Carries info on which smesession
- *			wowl exit is requested.
- *
- * SME will initiate exit from WoWLAN mode and device will be
- * put in BMPS mode.
- * Return QDF_STATUS
- *	QDF_STATUS_E_FAILURE  Device cannot exit WoWLAN mode.
- *	QDF_STATUS_SUCCESS  Request accepted to exit WoWLAN mode.
- */
-QDF_STATUS sme_exit_wowl(tHalHandle hal_ctx,
-		tpSirSmeWowlExitParams wowl_exit_params)
-{
-	QDF_STATUS status = QDF_STATUS_E_FAILURE;
-	tpAniSirGlobal mac_ctx = PMAC_STRUCT(hal_ctx);
-	uint8_t session_id;
-
-	MTRACE(qdf_trace(QDF_MODULE_ID_SME,
-			TRACE_CODE_SME_RX_HDD_EXIT_WOWL, NO_SESSION, 0));
-	session_id = wowl_exit_params->sessionId;
-	status = sme_ps_process_command(mac_ctx, session_id, SME_PS_WOWL_EXIT);
-	return status;
-}
-
 /**
  * sme_roam_set_key() - To set encryption key.
  * @hal:           hal global context

+ 0 - 143
core/sme/src/common/sme_power_save.c

@@ -289,142 +289,6 @@ static QDF_STATUS sme_ps_disable_uapsd_req_params(tpAniSirGlobal mac_ctx,
 	return QDF_STATUS_SUCCESS;
 }
 
-/**
- * sme_ps_enter_wowl_req_params(): enable WOWL req Parama
- * @mac_ctx: global mac context
- * @session_id: session id
- *
- * Return: QDF_STATUS
- */
-static QDF_STATUS sme_ps_enter_wowl_req_params(tpAniSirGlobal mac_ctx,
-		uint32_t session_id)
-{
-	struct sSirHalWowlEnterParams *hal_wowl_params;
-	struct sSirSmeWowlEnterParams *sme_wowl_params;
-	uint32_t cfg_value = 0;
-	struct ps_global_info *ps_global_info = &mac_ctx->sme.ps_global_info;
-
-	sme_wowl_params =
-		&ps_global_info->ps_params[session_id].wowl_enter_params;
-
-	hal_wowl_params = qdf_mem_malloc(sizeof(*hal_wowl_params));
-	if (NULL == hal_wowl_params) {
-		sme_err("Fail to allocate memory for Enter Wowl Request");
-		return  QDF_STATUS_E_NOMEM;
-	}
-
-	/* fill in the message field */
-	hal_wowl_params->ucMagicPktEnable = sme_wowl_params->ucMagicPktEnable;
-	hal_wowl_params->ucPatternFilteringEnable =
-		sme_wowl_params->ucPatternFilteringEnable;
-	qdf_copy_macaddr(&hal_wowl_params->magic_ptrn,
-			 &sme_wowl_params->magic_ptrn);
-
-#ifdef WLAN_WAKEUP_EVENTS
-	hal_wowl_params->ucWoWEAPIDRequestEnable =
-		sme_wowl_params->ucWoWEAPIDRequestEnable;
-	hal_wowl_params->ucWoWEAPOL4WayEnable =
-		sme_wowl_params->ucWoWEAPOL4WayEnable;
-	hal_wowl_params->ucWowNetScanOffloadMatch =
-		sme_wowl_params->ucWowNetScanOffloadMatch;
-	hal_wowl_params->ucWowGTKRekeyError =
-		sme_wowl_params->ucWowGTKRekeyError;
-	hal_wowl_params->ucWoWBSSConnLoss =
-		sme_wowl_params->ucWoWBSSConnLoss;
-#endif /* WLAN_WAKEUP_EVENTS */
-
-	if (wlan_cfg_get_int
-			(mac_ctx, WNI_CFG_WOWLAN_UCAST_PATTERN_FILTER_ENABLE,
-			 &cfg_value) != eSIR_SUCCESS) {
-		sme_err("cfgGet failed for WNI_CFG_WOWLAN_UCAST_PATTERN_FILTER_ENABLE");
-		goto end;
-	}
-	hal_wowl_params->ucUcastPatternFilteringEnable = (uint8_t) cfg_value;
-
-	if (wlan_cfg_get_int
-			(mac_ctx, WNI_CFG_WOWLAN_CHANNEL_SWITCH_ENABLE,
-			 &cfg_value) != eSIR_SUCCESS) {
-		sme_err("cfgGet failed for WNI_CFG_WOWLAN_CHANNEL_SWITCH_ENABLE");
-		goto end;
-	}
-	hal_wowl_params->ucWowChnlSwitchRcv = (uint8_t) cfg_value;
-
-	if (wlan_cfg_get_int
-			(mac_ctx, WNI_CFG_WOWLAN_DEAUTH_ENABLE, &cfg_value) !=
-			eSIR_SUCCESS) {
-		sme_err("cfgGet failed for WNI_CFG_WOWLAN_DEAUTH_ENABLE");
-		goto end;
-	}
-	hal_wowl_params->ucWowDeauthRcv = (uint8_t) cfg_value;
-
-	if (wlan_cfg_get_int
-			(mac_ctx, WNI_CFG_WOWLAN_DISASSOC_ENABLE, &cfg_value) !=
-			eSIR_SUCCESS) {
-		sme_err("cfgGet failed for WNI_CFG_WOWLAN_DISASSOC_ENABLE");
-		goto end;
-	}
-	hal_wowl_params->ucWowDisassocRcv = (uint8_t) cfg_value;
-
-	if (wlan_cfg_get_int(mac_ctx, WNI_CFG_WOWLAN_MAX_MISSED_BEACON,
-				&cfg_value) !=	eSIR_SUCCESS) {
-		sme_err("cfgGet failed for WNI_CFG_WOWLAN_MAX_MISSED_BEACON");
-		goto end;
-	}
-	hal_wowl_params->ucWowMaxMissedBeacons = (uint8_t) cfg_value;
-
-	if (wlan_cfg_get_int(mac_ctx, WNI_CFG_WOWLAN_MAX_SLEEP_PERIOD,
-				&cfg_value) != eSIR_SUCCESS) {
-		sme_err("cfgGet failed for WNI_CFG_WOWLAN_MAX_SLEEP_PERIOD");
-		goto end;
-	}
-	hal_wowl_params->ucWowMaxSleepUsec = (uint8_t) cfg_value;
-
-	hal_wowl_params->sessionId = sme_wowl_params->sessionId;
-
-	if (QDF_STATUS_SUCCESS == sme_post_ps_msg_to_wma(WMA_WOWL_ENTER_REQ,
-							hal_wowl_params)){
-		QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
-			FL("Msg WMA_WOWL_ENTER_REQ Successfully sent to WMA"));
-		return QDF_STATUS_SUCCESS;
-	} else {
-		return QDF_STATUS_E_FAILURE;
-	}
-
-end:
-	if (hal_wowl_params != NULL)
-		qdf_mem_free(hal_wowl_params);
-	return QDF_STATUS_E_FAILURE;
-}
-
-/**
- * sme_ps_exit_wowl_req_params(): Exit WOWL req params
- * @mac_ctx: global mac context
- * @session_id: session id
- *
- * Return: QDF_STATUS
- */
-static QDF_STATUS sme_ps_exit_wowl_req_params(tpAniSirGlobal mac_ctx,
-		uint32_t session_id)
-{
-	struct sSirHalWowlExitParams *hal_wowl_msg;
-
-	hal_wowl_msg = qdf_mem_malloc(sizeof(*hal_wowl_msg));
-	if (NULL == hal_wowl_msg) {
-		sme_err("Fail to allocate memory for WoWLAN Add Bcast Pattern");
-		return  QDF_STATUS_E_NOMEM;
-	}
-	hal_wowl_msg->sessionId = session_id;
-
-	if (QDF_STATUS_SUCCESS == sme_post_ps_msg_to_wma(WMA_WOWL_EXIT_REQ,
-							hal_wowl_msg)){
-		QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
-			FL("Msg WMA_WOWL_EXIT_REQ Successfully sent to WMA"));
-		return QDF_STATUS_SUCCESS;
-	} else {
-		return QDF_STATUS_E_FAILURE;
-	}
-}
-
 /**
  * sme_ps_process_command(): Sme process power save messages
  *			and pass messages to WMA.
@@ -458,13 +322,6 @@ QDF_STATUS sme_ps_process_command(tpAniSirGlobal mac_ctx, uint32_t session_id,
 	case SME_PS_UAPSD_DISABLE:
 		status = sme_ps_disable_uapsd_req_params(mac_ctx, session_id);
 		break;
-	case SME_PS_WOWL_ENTER:
-		status = sme_ps_enter_wowl_req_params(mac_ctx, session_id);
-		break;
-	case SME_PS_WOWL_EXIT:
-		status = sme_ps_exit_wowl_req_params(mac_ctx, session_id);
-		break;
-
 	default:
 		sme_err("Invalid command type: %d", command);
 		status = QDF_STATUS_E_FAILURE;