diff --git a/wmi/src/wmi_unified_non_tlv.c b/wmi/src/wmi_unified_non_tlv.c index b77785094f9e..646f0844911e 100644 --- a/wmi/src/wmi_unified_non_tlv.c +++ b/wmi/src/wmi_unified_non_tlv.c @@ -402,7 +402,13 @@ static QDF_STATUS send_setup_install_key_cmd_non_tlv(wmi_unified_t wmi_handle, } #endif - qdf_mem_copy(cmd->key_data, param->key_data, + /* for big endian host, copy engine byte_swap is enabled + * But the key data content is in network byte order + * Need to byte swap the key data content - so when copy engine + * does byte_swap - target gets key_data content in the correct order + */ + + WMI_HOST_IF_MSG_COPY_CHAR_ARRAY(cmd->key_data, param->key_data, cmd->key_len); return wmi_unified_cmd_send(wmi_handle, buf, len,