Send response to SME when switch channel fails.

LIM is not sending response to SME when switch channel fails while
roaming. Due to this the preauth (roam) is not freed from the SME
active command queue and leading to SME active command queue
stuck.

Send the preauth response with failure status from lim to SME
when switch channel fails while roaming.

Change-Id: I62ee5ac09937188bd3e5bc91d78ec5e3dba9cb86
CRs-Fixed: 702375
diff --git a/CORE/MAC/src/pe/lim/limFT.c b/CORE/MAC/src/pe/lim/limFT.c
index 496b140..bb2e419 100644
--- a/CORE/MAC/src/pe/lim/limFT.c
+++ b/CORE/MAC/src/pe/lim/limFT.c
@@ -350,7 +350,7 @@
             PELOGE(limLog( pMac, LOGE,
                            "%s: FTIEs for Auth Req Seq 1 is absent",
                            __func__);)
-            return;
+            goto preauth_fail;
         }
     }
     if (status != eHAL_STATUS_SUCCESS) 
@@ -358,7 +358,7 @@
         PELOGE(limLog( pMac, LOGE,
                        "%s: Change channel not successful for FT pre-auth",
                        __func__);)
-        return;
+        goto preauth_fail;
     }
     pMac->ft.ftPEContext.psavedsessionEntry = psessionEntry;
 
@@ -405,6 +405,9 @@
         LIM_NO_WEP_IN_FC, psessionEntry);
 
     return;
+preauth_fail:
+    limHandleFTPreAuthRsp(pMac, eSIR_FAILURE, NULL, 0, psessionEntry);
+    return;
 }