From 5ca52020ae3cc77662b8c562ec28455f6790b81c Mon Sep 17 00:00:00 2001 From: "Pamidipati, Vijay" Date: Tue, 29 Nov 2016 01:44:25 +0530 Subject: [PATCH] qcacmn: Fix mac address value sent in peer assoc WMI command Copy MAC Address in 2 word format in WMI message from char array input CRs-Fixed: 1088985 Change-Id: I36e4e806b9c027ee824c77ca692239c7752b8036 --- wmi/src/wmi_unified_tlv.c | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/wmi/src/wmi_unified_tlv.c b/wmi/src/wmi_unified_tlv.c index 8bf2b611bc..1668838f9e 100644 --- a/wmi/src/wmi_unified_tlv.c +++ b/wmi/src/wmi_unified_tlv.c @@ -586,6 +586,9 @@ static QDF_STATUS convert_host_peer_id_to_target_id_tlv( case WMI_HOST_PEER_SET_MIN_TX_RATE: *targ_paramid = WMI_PEER_SET_MIN_TX_RATE; break; + case WMI_HOST_PEER_SET_DEFAULT_ROUTING: + *targ_paramid = WMI_PEER_SET_DEFAULT_ROUTING; + break; default: return QDF_STATUS_E_NOSUPPORT; } @@ -1663,6 +1666,24 @@ static inline void copy_peer_flags_tlv( cmd->peer_flags &= ~WMI_PEER_HT; } #endif + +#ifdef CONFIG_MCL +static inline void copy_peer_mac_addr_tlv( + wmi_peer_assoc_complete_cmd_fixed_param * cmd, + struct peer_assoc_params *param) +{ + qdf_mem_copy(&cmd->peer_macaddr, ¶m->peer_macaddr, + sizeof(param->peer_macaddr)); +} +#else +static inline void copy_peer_mac_addr_tlv( + wmi_peer_assoc_complete_cmd_fixed_param * cmd, + struct peer_assoc_params *param) +{ + WMI_CHAR_ARRAY_TO_MAC_ADDR(param->peer_mac, &cmd->peer_macaddr); +} +#endif + /** * send_peer_assoc_cmd_tlv() - WMI peer assoc function * @param wmi_handle : handle to WMI. @@ -1706,11 +1727,13 @@ QDF_STATUS send_peer_assoc_cmd_tlv(wmi_unified_t wmi_handle, (wmi_peer_assoc_complete_cmd_fixed_param)); cmd->vdev_id = param->vdev_id; - qdf_mem_copy(&cmd->peer_macaddr, ¶m->peer_macaddr, - sizeof(param->peer_macaddr)); + cmd->peer_new_assoc = param->peer_new_assoc; cmd->peer_associd = param->peer_associd; + copy_peer_flags_tlv(cmd, param); + copy_peer_mac_addr_tlv(cmd, param); + cmd->peer_rate_caps = param->peer_rate_caps; cmd->peer_caps = param->peer_caps; cmd->peer_listen_intval = param->peer_listen_intval;