Browse Source

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
Dustin Brown 8 years ago
parent
commit
d95b96b398
2 changed files with 27 additions and 0 deletions
  1. 4 0
      core/hdd/inc/qc_sap_ioctl.h
  2. 23 0
      core/hdd/src/wlan_hdd_hostapd.c

+ 4 - 0
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)
 

+ 23 - 0
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[] = {