wlan: NoA not being set in Beacons by DUT as GO
starttime_offset is being passed from riva which is wrongly set in host
as interval.
Change-Id: Ie721e59067ea9ca53dd7d4e2bc8a71d75f51d840
CR-Fixed: 389161
diff --git a/CORE/HDD/src/wlan_hdd_p2p.c b/CORE/HDD/src/wlan_hdd_p2p.c
index 06f39bd..0a8433d 100644
--- a/CORE/HDD/src/wlan_hdd_p2p.c
+++ b/CORE/HDD/src/wlan_hdd_p2p.c
@@ -44,6 +44,9 @@
#include <linux/etherdevice.h>
#include <net/ieee80211_radiotap.h>
+//Ms to Micro Sec
+#define MS_TO_MUS(x) ((x)*1000);
+
#ifdef WLAN_FEATURE_P2P_DEBUG
#define MAX_P2P_ACTION_FRAME_TYPE 9
const char *p2p_action_frame_type[]={"GO Negotiation Request",
@@ -809,18 +812,18 @@
tHalHandle hHal = WLAN_HDD_GET_HAL_CTX(pAdapter);
VOS_STATUS status = VOS_STATUS_SUCCESS;
tP2pPsConfig NoA;
- int count, duration, interval;
+ int count, duration, start_time;
char *param;
param = strchr(command, ' ');
if (param == NULL)
return -1;
param++;
- sscanf(param, "%d %d %d", &count, &duration, &interval);
+ sscanf(param, "%d %d %d", &count, &start_time, &duration);
VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO,
"%s: P2P_SET GO NoA: count=%d duration=%d interval=%d \n",
- __func__, count, duration, interval);
-
+ __func__, count, start_time, duration);
+ duration = MS_TO_MUS(duration);
/* PS Selection
* Periodic NoA (2)
* Single NOA (4)
@@ -839,7 +842,7 @@
NoA.single_noa_duration = 0;
NoA.psSelection = P2P_POWER_SAVE_TYPE_PERIODIC_NOA;
}
- NoA.interval = interval;
+ NoA.interval = MS_TO_MUS(100);
NoA.count = count;
NoA.sessionid = pAdapter->sessionId;