From 481e2be78a60267daba89716ab7de7da70781d3e Mon Sep 17 00:00:00 2001 From: Derek Chen Date: Fri, 9 Mar 2018 17:33:03 -0500 Subject: [PATCH] ASoC: msm: qdsp6v2: Fix APR packet size for SET_UI_PROPERTY The APR packet size was incorrect for the API VSS_ICOMMON_CMD_SET_UI_PROPERTY. Using struct param_hdr_v1 made the previous calculation for packet size < 0. Signed-off-by: Derek Chen Change-Id: I7496e78ad6918251f90fdd5d778b322d4a81c4c0 --- sound/soc/msm/qdsp6v2/q6voice.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sound/soc/msm/qdsp6v2/q6voice.c b/sound/soc/msm/qdsp6v2/q6voice.c index a0f30a32f8e6..17d78704709f 100644 --- a/sound/soc/msm/qdsp6v2/q6voice.c +++ b/sound/soc/msm/qdsp6v2/q6voice.c @@ -8623,6 +8623,7 @@ static int voice_pack_and_set_cvs_ui_property(struct voice_data *v, { struct vss_icommon_cmd_set_ui_property *set_ui_property = NULL; u32 total_size = 0; + u32 pkt_size = 0; bool iid_supported = q6common_is_instance_id_supported(); void *apr_cvs; int ret = 0; @@ -8640,7 +8641,7 @@ static int voice_pack_and_set_cvs_ui_property(struct voice_data *v, return -ENOMEM; ret = q6common_pack_pp_params(set_ui_property->param_data, ¶m_hdr, - param_data, &total_size); + param_data, &pkt_size); if (ret) { pr_err("%s: Failed to pack params, error %d", __func__, ret); goto done; @@ -8654,7 +8655,7 @@ static int voice_pack_and_set_cvs_ui_property(struct voice_data *v, APR_HDR_FIELD(APR_MSG_TYPE_SEQ_CMD, APR_HDR_LEN(APR_HDR_SIZE), APR_PKT_VER); set_ui_property->apr_hdr.pkt_size = - APR_PKT_SIZE(APR_HDR_SIZE, total_size - APR_HDR_SIZE); + APR_PKT_SIZE(APR_HDR_SIZE, pkt_size); set_ui_property->apr_hdr.src_svc = 0; set_ui_property->apr_hdr.src_domain = APR_DOMAIN_APPS; set_ui_property->apr_hdr.src_port =