wlan: Use Reassociation during BSS Transition

qcacld-2.0 to prima propagation

The BSS transition request is handled by the supplicant.
The supplicant upon receiving the request will issue a
connect request to the driver with a hint of prev_bssid
telling the driver to perform a re-association.
Use this hint in the driver and initiate a re-association.
While doing the re-association, there is no need to do a
scan if the target AP is already present in the scan cache.
Optimize the re-association code to not do a scan if not
necessary in this particular case.

Git-commit:ca5977a93f42553da18a4e6638637bb577f706f7
Change-Id: Idf1a7058009a8d2082bc1742dca1364cf59c405b
CRs-Fixed: 1010596
diff --git a/CORE/SME/inc/csrApi.h b/CORE/SME/inc/csrApi.h
index caa69c8..0a93a95 100644
--- a/CORE/SME/inc/csrApi.h
+++ b/CORE/SME/inc/csrApi.h
@@ -1497,22 +1497,21 @@
 #define CSR_INVALID_SCANRESULT_HANDLE       (NULL)
 
 #ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
-typedef enum {
-    REASSOC     = 0,
-    FASTREASSOC = 1
-} handoff_src;
-
 typedef struct tagCsrHandoffRequest
 {
     tCsrBssid bssid;
     tANI_U8 channel;
-#ifndef QCA_WIFI_ISOC
     /* To check if its a REASSOC or a FASTREASSOC IOCTL */
     tANI_U8 src;
-#endif
 }tCsrHandoffRequest;
 #endif
 
+typedef enum {
+    REASSOC     = 0,
+    FASTREASSOC = 1,
+    CONNECT_CMD_USERSPACE = 2,
+} handoff_src;
+
 #if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD)
 typedef struct tagCsrEseBeaconReqParams
 {