diff options
| -rw-r--r-- | core/wma/src/wma_dev_if.c | 16 |
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; |
