|
@@ -5711,14 +5711,21 @@ void wma_update_set_key(uint8_t session_id, bool pairwise,
|
|
|
if (!iface)
|
|
|
wma_info("iface not found for session id %d", session_id);
|
|
|
|
|
|
- wma_reset_ipn(iface, key_index);
|
|
|
+ if (cipher_type == WLAN_CRYPTO_CIPHER_AES_GMAC ||
|
|
|
+ cipher_type == WLAN_CRYPTO_CIPHER_AES_GMAC_256 ||
|
|
|
+ cipher_type == WLAN_CRYPTO_CIPHER_AES_CMAC)
|
|
|
+ iface->key.key_cipher =
|
|
|
+ wlan_crypto_cipher_to_wmi_cipher(cipher_type);
|
|
|
+
|
|
|
+ if (iface) {
|
|
|
+ wma_reset_ipn(iface, key_index);
|
|
|
+ iface->is_waiting_for_key = false;
|
|
|
+ }
|
|
|
if (!pairwise && iface) {
|
|
|
/* Its GTK release the wake lock */
|
|
|
wma_debug("Release set key wake lock");
|
|
|
wma_release_wakelock(&iface->vdev_set_key_wakelock);
|
|
|
}
|
|
|
- if (iface)
|
|
|
- iface->is_waiting_for_key = false;
|
|
|
|
|
|
wma_send_set_key_rsp(session_id, pairwise, key_index);
|
|
|
}
|