wlan : Fast transition (11r)
- Set Key along with the Config BSS command to HAL
to improve the 11r roam latencies
- Move the TL state to Authenticated to allow TX Data
when set GTK is received at driver from supplicant
- Optimize the memcpy in hdd_SendFTEvent
Change-Id: Iab9f1fbcc4a11bd1a2e521885a6beaf1f6a9068a
CRs-fixed: 465419
diff --git a/CORE/HDD/src/wlan_hdd_wext.c b/CORE/HDD/src/wlan_hdd_wext.c
index a02d390..632926b 100644
--- a/CORE/HDD/src/wlan_hdd_wext.c
+++ b/CORE/HDD/src/wlan_hdd_wext.c
@@ -3317,12 +3317,21 @@
("%s:cipher_alg:%d key_len[%d] *pEncryptionType :%d \n"),__func__,(int)ext->alg,(int)ext->key_len,setKey.encType);
#ifdef WLAN_FEATURE_VOWIFI_11R
-/* The supplicant may attempt to set the PTK once pre-authentication is done.
- Save the key in the UMAC and include it in the ADD BSS request */
+ /* The supplicant may attempt to set the PTK once pre-authentication
+ is done. Save the key in the UMAC and include it in the ADD
+ BSS request */
halStatus = sme_FTUpdateKey( WLAN_HDD_GET_HAL_CTX(pAdapter), &setKey);
- if( halStatus == eHAL_STATUS_FT_PREAUTH_KEY_WAIT )
+ if ( halStatus == eHAL_STATUS_FT_PREAUTH_KEY_SUCCESS )
{
- return -EINVAL;
+ hddLog(VOS_TRACE_LEVEL_INFO_MED,
+ "%s: Update PreAuth Key success", __func__);
+ return 0;
+ }
+ else if ( halStatus == eHAL_STATUS_FT_PREAUTH_KEY_FAILED )
+ {
+ hddLog(VOS_TRACE_LEVEL_ERROR,
+ "%s: Update PreAuth Key failed", __func__);
+ return -EINVAL;
}
#endif /* WLAN_FEATURE_VOWIFI_11R */