qcacmn: For STA mode, set ucast key for bsspeer macaddr in crypto
setkey
Change-Id: Idffa8bce38bb73d35c23678267a08f3b20be0e56
diff --git a/umac/cmn_services/crypto/src/wlan_crypto_global_api.c b/umac/cmn_services/crypto/src/wlan_crypto_global_api.c
index 66016e5..bbe047c 100644
--- a/umac/cmn_services/crypto/src/wlan_crypto_global_api.c
+++ b/umac/cmn_services/crypto/src/wlan_crypto_global_api.c
@@ -382,6 +382,20 @@
}
key = crypto_priv->key[req_key->keyix];
}
+ if (vdev_mode == QDF_STA_MODE) {
+ peer = wlan_vdev_get_bsspeer(vdev);
+ if (!peer) {
+ qdf_print("%s[%d] peer is null\n",
+ __func__, __LINE__);
+ return QDF_STATUS_E_INVAL;
+ }
+ wlan_objmgr_peer_try_get_ref(peer, WLAN_CRYPTO_ID);
+ wlan_peer_obj_lock(peer);
+ qdf_mem_copy(macaddr, wlan_peer_get_macaddr(peer),
+ WLAN_ALEN);
+ wlan_peer_obj_unlock(peer);
+ wlan_objmgr_peer_release_ref(peer, WLAN_CRYPTO_ID);
+ }
} else {
peer = wlan_objmgr_get_peer_by_mac_n_vdev(
psoc,