Fix for p2p connection failure.
P2P connection was failing because of ASSOC_REJECT, this was because
GO was doing a channel switch due to station scan issued from APPS.
To address this, a timer of 10 sec is started after device starts
beaconing and scan is blocked during this period to avoid channel
switch.
CRs-Fixed: 489322
Change-Id: Id04a177e41fc1377762ef19554151d6985b2fc5a
diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c
index fbea7ed..4b7091f 100644
--- a/CORE/HDD/src/wlan_hdd_cfg80211.c
+++ b/CORE/HDD/src/wlan_hdd_cfg80211.c
@@ -2356,6 +2356,10 @@
#endif
status = wlan_hdd_cfg80211_start_bss(pAdapter, ¶ms->beacon, params->ssid,
params->ssid_len, params->hidden_ssid);
+ if (0 == status)
+ {
+ hdd_start_p2p_go_connection_in_progress_timer(pAdapter);
+ }
}
EXIT();
@@ -4309,6 +4313,14 @@
v_U8_t staId = 0;
v_U8_t *staMac = NULL;
+ if (VOS_TIMER_STATE_RUNNING ==
+ vos_timer_getCurrentState(&pHddCtx->hdd_p2p_go_conn_is_in_progress))
+ {
+ hddLog(VOS_TRACE_LEVEL_INFO,
+ "%s: Connection is in progress, Do not allow the scan", __func__);
+ return VOS_FALSE;
+ }
+
status = hdd_get_front_adapter ( pHddCtx, &pAdapterNode );
while ( NULL != pAdapterNode && VOS_STATUS_SUCCESS == status )