From e1b0a396c0a319a5a2191d8d4461baa4337d33d3 Mon Sep 17 00:00:00 2001 From: Krunal Soni Date: Fri, 20 Oct 2017 20:20:19 -0700 Subject: qcacmn: Fix to propagate key-receiver-sequence-counter to WMI SME module propagates KeyRSC to MAC/PE module but MAC/PE doesn't pass this counter to WMA and due to which WMA is not able pass to WMI module. Add a fix to propagate KeyRSC field from MAC to WMA module and WMA to WMI module. CRs-Fixed: 2130765 Change-Id: I0de6907bf8aa159eccb1d8310e7027f8fdf19fff --- wmi/inc/wmi_unified_param.h | 7 +++++++ wmi/src/wmi_unified_tlv.c | 2 ++ 2 files changed, 9 insertions(+) diff --git a/wmi/inc/wmi_unified_param.h b/wmi/inc/wmi_unified_param.h index 6c28645a6420..1106bd1f01fb 100644 --- a/wmi/inc/wmi_unified_param.h +++ b/wmi/inc/wmi_unified_param.h @@ -1640,6 +1640,11 @@ struct wmi_probe_resp_params { uint32_t ucProxyProbeReqValidIEBmap[8]; }; +struct key_seq_counter { + uint32_t key_seq_counter_l; + uint32_t key_seq_counter_h; +}; + /* struct set_key_params: structure containing * installation key parameters * @vdev_id: vdev id @@ -1652,6 +1657,7 @@ struct wmi_probe_resp_params { * @key_rxmic_len: rx mic length * @rx_iv: receive IV, applicable only in case of WAPI * @tx_iv: transmit IV, applicable only in case of WAPI + * @key_rsc_counter: RSC key counter * @key_data: key data */ struct set_key_params { @@ -1668,6 +1674,7 @@ struct set_key_params { uint8_t tx_iv[16]; #endif uint8_t key_data[WMI_MAC_MAX_KEY_LENGTH]; + struct key_seq_counter key_rsc_counter; }; /** diff --git a/wmi/src/wmi_unified_tlv.c b/wmi/src/wmi_unified_tlv.c index 14ae445af614..18fabb7fe571 100644 --- a/wmi/src/wmi_unified_tlv.c +++ b/wmi/src/wmi_unified_tlv.c @@ -3922,6 +3922,8 @@ QDF_STATUS send_setup_install_key_cmd_tlv(wmi_unified_t wmi_handle, key_data = (A_UINT8 *) (buf_ptr + WMI_TLV_HDR_SIZE); qdf_mem_copy((void *)key_data, (const void *)key_params->key_data, key_params->key_len); + qdf_mem_copy(&cmd->key_rsc_counter, &key_params->key_rsc_counter, + sizeof(wmi_key_seq_counter)); cmd->key_len = key_params->key_len; status = wmi_unified_cmd_send(wmi_handle, buf, len, -- cgit v1.2.3