From d95b96b398bbbb7543978de4f98d6da206e9b7d1 Mon Sep 17 00:00:00 2001 From: Dustin Brown Date: Fri, 9 Dec 2016 15:08:26 -0800 Subject: [PATCH] qcacld-3.0: Expose Suspend/Resume Unit-Test Ioctls for SAP Suspend/Resume unit-test framework exposes two ioctls when in station mode. Expose these ioctls in SAP and P2P modes also. Change-Id: I2c70e37cac72becc95fd3e3f94ac17ca5352ba66 CRs-Fixed: 1099735 --- core/hdd/inc/qc_sap_ioctl.h | 4 ++++ core/hdd/src/wlan_hdd_hostapd.c | 23 +++++++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/core/hdd/inc/qc_sap_ioctl.h b/core/hdd/inc/qc_sap_ioctl.h index 6ef7ba1c0d65..8995f63db1c6 100644 --- a/core/hdd/inc/qc_sap_ioctl.h +++ b/core/hdd/inc/qc_sap_ioctl.h @@ -176,6 +176,10 @@ typedef struct { #define QCSAP_ENABLE_FW_PROFILE 3 #define QCSAP_SET_FW_PROFILE_HIST_INTVL 4 +/* Private sub-ioctl for initiating WoW suspend without Apps suspend */ +#define QCSAP_SET_WLAN_SUSPEND 5 +#define QCSAP_SET_WLAN_RESUME 6 + #define MAX_VAR_ARGS 7 #define QCSAP_IOCTL_PRIV_GET_SOFTAP_LINK_SPEED (SIOCIWFIRSTPRIV + 31) diff --git a/core/hdd/src/wlan_hdd_hostapd.c b/core/hdd/src/wlan_hdd_hostapd.c index 17bda9891211..c518c3c7cf1a 100644 --- a/core/hdd/src/wlan_hdd_hostapd.c +++ b/core/hdd/src/wlan_hdd_hostapd.c @@ -79,6 +79,7 @@ #include "wlan_hdd_tsf.h" #include "wlan_hdd_green_ap.h" #include "ol_rx_fwd.h" +#include "wlan_hdd_power.h" #define IS_UP(_dev) \ (((_dev)->flags & (IFF_RUNNING|IFF_UP)) == (IFF_RUNNING|IFF_UP)) @@ -2472,6 +2473,12 @@ static int __iw_softap_set_two_ints_getnone(struct net_device *dev, ret = wma_cli_set2_command(adapter->sessionId, WMI_WLAN_PROFILE_SET_HIST_INTVL_CMDID, value[1], value[2], DBG_CMD); + case QCSAP_SET_WLAN_SUSPEND: + ret = hdd_wlan_fake_apps_suspend(hdd_ctx->wiphy, dev); + break; + case QCSAP_SET_WLAN_RESUME: + ret = hdd_wlan_fake_apps_resume(hdd_ctx->wiphy, dev); + break; default: hdd_err("Invalid IOCTL command %d", sub_cmd); break; @@ -5629,6 +5636,22 @@ static const struct iw_priv_args hostapd_private_args[] = { IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 2, 0, "set_hist_intvl" } + , +#ifdef WLAN_SUSPEND_RESUME_TEST + { + QCSAP_SET_WLAN_SUSPEND, + IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 2, + 0, "wlan_suspend" + } + , + { + QCSAP_SET_WLAN_RESUME, + IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 2, + 0, "wlan_resume" + } + , +#endif + }; static const iw_handler hostapd_private[] = {