qcacld-3.0: Add CDP API to set key in data path

Add CDP API to set RX MIC key in datapath.
Required to perform RX demic of fragmented packets.

Change-Id: I3c05da62ff20f8551cdc5780ce2f7b8d23c73a37
CRs-Fixed: 2217884
This commit is contained in:
psimha
2018-04-03 17:38:38 -07:00
committed by nshrivas
parent f7ab655435
commit 8696f772fe
4 changed files with 8 additions and 2 deletions

View File

@@ -2819,7 +2819,8 @@ static void ol_txrx_dump_peer_access_list(ol_txrx_peer_handle peer)
* fails * fails
*/ */
static void * static void *
ol_txrx_peer_attach(struct cdp_vdev *pvdev, uint8_t *peer_mac_addr) ol_txrx_peer_attach(struct cdp_vdev *pvdev, uint8_t *peer_mac_addr,
void *ol_peer)
{ {
struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev; struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev;
struct ol_txrx_peer_t *peer; struct ol_txrx_peer_t *peer;

View File

@@ -337,6 +337,7 @@ enum ds_mode {
#define WMA_TXMIC_LEN 8 #define WMA_TXMIC_LEN 8
#define WMA_RXMIC_LEN 8 #define WMA_RXMIC_LEN 8
#define WMA_IV_KEY_LEN 16
/* /*
* Length = (2 octets for Index and CTWin/Opp PS) and * Length = (2 octets for Index and CTWin/Opp PS) and

View File

@@ -1732,7 +1732,7 @@ QDF_STATUS wma_create_peer(tp_wma_handle wma, struct cdp_pdev *pdev,
* where the HTT peer map event is received before the peer object * where the HTT peer map event is received before the peer object
* is created in the data path * is created in the data path
*/ */
peer = cdp_peer_create(dp_soc, vdev, peer_addr); peer = cdp_peer_create(dp_soc, vdev, peer_addr, NULL);
if (!peer) { if (!peer) {
WMA_LOGE("%s : Unable to attach peer %pM", __func__, peer_addr); WMA_LOGE("%s : Unable to attach peer %pM", __func__, peer_addr);
wlan_objmgr_peer_obj_delete(obj_peer); wlan_objmgr_peer_obj_delete(obj_peer);

View File

@@ -1965,6 +1965,10 @@ static QDF_STATUS wma_setup_install_key_cmd(tp_wma_handle wma_handle,
/* Set PN check & security type in data path */ /* Set PN check & security type in data path */
cdp_set_pn_check(soc, txrx_vdev, peer, sec_type, pn); cdp_set_pn_check(soc, txrx_vdev, peer, sec_type, pn);
cdp_set_key(soc, peer, key_params->unicast,
(uint32_t *)(key_params->key_data +
WMA_IV_KEY_LEN +
WMA_TXMIC_LEN));
status = wmi_unified_setup_install_key_cmd(wma_handle->wmi_handle, status = wmi_unified_setup_install_key_cmd(wma_handle->wmi_handle,
&params); &params);