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, &params->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 )