summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/wma/src/wma_dev_if.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/core/wma/src/wma_dev_if.c b/core/wma/src/wma_dev_if.c
index 07e5bedbde9b..c4818c412a45 100644
--- a/core/wma/src/wma_dev_if.c
+++ b/core/wma/src/wma_dev_if.c
@@ -1455,17 +1455,21 @@ QDF_STATUS wma_create_peer(tp_wma_handle wma, ol_txrx_pdev_handle pdev,
/* for each remote ibss peer, clear its keys */
if (wma_is_vdev_in_ibss_mode(wma, vdev_id) &&
qdf_mem_cmp(peer_addr, mac_addr_raw, IEEE80211_ADDR_LEN)) {
- tSetStaKeyParams key_info;
+ tpSetStaKeyParams key_info;
+ key_info = qdf_mem_malloc(sizeof(*key_info));
+ if (!key_info) {
+ return QDF_STATUS_E_NOMEM;
+ }
WMA_LOGD("%s: remote ibss peer %pM key clearing\n", __func__,
peer_addr);
- qdf_mem_set(&key_info, sizeof(key_info), 0);
- key_info.smesessionId = vdev_id;
- qdf_mem_copy(key_info.peer_macaddr.bytes, peer_addr,
+ qdf_mem_set(key_info, sizeof(*key_info), 0);
+ key_info->smesessionId = vdev_id;
+ qdf_mem_copy(key_info->peer_macaddr.bytes, peer_addr,
IEEE80211_ADDR_LEN);
- key_info.sendRsp = false;
+ key_info->sendRsp = false;
- wma_set_stakey(wma, &key_info);
+ wma_set_stakey(wma, key_info);
}
return QDF_STATUS_SUCCESS;