浏览代码

qcacmn: For STA mode, set ucast key for bsspeer macaddr in crypto
setkey

Change-Id: Idffa8bce38bb73d35c23678267a08f3b20be0e56

Nandha Kishore Easwaran 7 年之前
父节点
当前提交
e9f8070cee
共有 1 个文件被更改,包括 14 次插入0 次删除
  1. 14 0
      umac/cmn_services/crypto/src/wlan_crypto_global_api.c

+ 14 - 0
umac/cmn_services/crypto/src/wlan_crypto_global_api.c

@@ -382,6 +382,20 @@ QDF_STATUS wlan_crypto_setkey(struct wlan_objmgr_vdev *vdev,
 			}
 			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,