Merge "prima: Fix FT roaming failure for WEP Auto switch auth mode" into wlan-driver.lnx.1.0
diff --git a/CORE/MAC/src/pe/lim/limProcessActionFrame.c b/CORE/MAC/src/pe/lim/limProcessActionFrame.c
index c2db0a5..bf364ee 100644
--- a/CORE/MAC/src/pe/lim/limProcessActionFrame.c
+++ b/CORE/MAC/src/pe/lim/limProcessActionFrame.c
@@ -1359,16 +1359,6 @@
     val = 0;
     val1 = 0;
 
-    pSta = dphLookupHashEntry(pMac, pHdr->sa, &aid,
-                              &psessionEntry->dph.dphHashTable);
-    if (((psessionEntry->limSystemRole == eLIM_AP_ROLE ||
-          psessionEntry->limSystemRole == eLIM_BT_AMP_AP_ROLE) &&
-         pSta != NULL && !pSta->isKeyInstalled) ||
-        !psessionEntry->isKeyInstalled) {
-        limLog(pMac, LOGE, FL("Reject ADDBA as set_key is not done"));
-        return;
-    }
-
     // Unpack the received frame
     nStatus = dot11fUnpackAddBAReq( pMac, pBody, frameLen, &frmAddBAReq );
     if( DOT11F_FAILED( nStatus ))
@@ -1395,6 +1385,8 @@
 
     psessionEntry->amsduSupportedInBA = frmAddBAReq.AddBAParameterSet.amsduSupported;
 
+    pSta = dphLookupHashEntry(pMac, pHdr->sa, &aid,
+                              &psessionEntry->dph.dphHashTable);
     if( pSta == NULL )
     {
         limLog( pMac, LOGE,
diff --git a/CORE/SME/src/QoS/sme_Qos.c b/CORE/SME/src/QoS/sme_Qos.c
index 3b01d8e..bfbed73 100644
--- a/CORE/SME/src/QoS/sme_Qos.c
+++ b/CORE/SME/src/QoS/sme_Qos.c
@@ -3147,7 +3147,7 @@
     tspecIeLen = pCsrConnectedInfo->nTspecIeLength;
     if (tspecIeLen < sizeof(tDot11fIEWMMTSPEC)) {
         VOS_TRACE(VOS_MODULE_ID_SME, VOS_TRACE_LEVEL_ERROR,
-                FL("ESE Tspec IE len %d less than min %d"),
+                FL("ESE Tspec IE len %d less than min %zu"),
                 tspecIeLen, sizeof(tDot11fIEWMMTSPEC));
         return eHAL_STATUS_FAILURE;
     }
diff --git a/CORE/SVC/src/btc/wlan_btc_svc.c b/CORE/SVC/src/btc/wlan_btc_svc.c
index f64605d..489544b 100644
--- a/CORE/SVC/src/btc/wlan_btc_svc.c
+++ b/CORE/SVC/src/btc/wlan_btc_svc.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012-2013, 2017 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2012-2013, 2017-2018 The Linux Foundation. All rights reserved.
  *
  * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
  *
@@ -56,12 +56,14 @@
    struct nlmsghdr *nlh;
    tAniMsgHdr *aniHdr;
    tWlanAssocData *assocData;
-   skb = alloc_skb(NLMSG_SPACE(WLAN_NL_MAX_PAYLOAD), GFP_KERNEL);
+   uint32_t skb_size = NLMSG_SPACE(WLAN_NL_MAX_PAYLOAD);
+   skb = alloc_skb(skb_size, GFP_KERNEL);
    if(skb == NULL) {
       VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
          "BTC: alloc_skb failed\n");
       return;
    }   
+   vos_mem_zero(skb->data, skb_size);
    nlh = (struct nlmsghdr *)skb->data;
    nlh->nlmsg_pid = 0;  /* from kernel */
    nlh->nlmsg_flags = 0;