summaryrefslogtreecommitdiff
path: root/sound/soc/sof/probe.c
diff options
context:
space:
mode:
authorCezary Rojewski <cezary.rojewski@intel.com>2020-03-09 17:21:24 +0300
committerMark Brown <broonie@kernel.org>2020-03-10 16:50:59 +0300
commita3b7343e3f8c4c74516df41827b6d81905e346a1 (patch)
tree847743e4f4ff64e5329d516603913799727e6260 /sound/soc/sof/probe.c
parent62f9ed5f8768d2425461737d77b83f888b525c06 (diff)
downloadlinux-a3b7343e3f8c4c74516df41827b6d81905e346a1.tar.xz
ASoC: SOF: Fix probe point getter
Firmware API changes which introduced 'num_elems' param in several probe structs such as sof_ipc_probe_dma_add_params also impacted getter for both, DMA and probe points. All struct handlers except for sof_ipc_probe_info_params have been updated. Align said handler too to calculate payload size correctly. Fixes: f3b433e4699f ("ASoC: SOF: Implement Probe IPC API") Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com> Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20200309142124.29262-1-cezary.rojewski@intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/sof/probe.c')
-rw-r--r--sound/soc/sof/probe.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sound/soc/sof/probe.c b/sound/soc/sof/probe.c
index 2b2f3dcfc7e9..c38169fe00c5 100644
--- a/sound/soc/sof/probe.c
+++ b/sound/soc/sof/probe.c
@@ -95,13 +95,17 @@ static int sof_ipc_probe_info(struct snd_sof_dev *sdev, unsigned int cmd,
if (!reply->num_elems)
goto exit;
- bytes = reply->num_elems * sizeof(reply->dma[0]);
+ if (cmd == SOF_IPC_PROBE_DMA_INFO)
+ bytes = sizeof(reply->dma[0]);
+ else
+ bytes = sizeof(reply->desc[0]);
+ bytes *= reply->num_elems;
*params = kmemdup(&reply->dma[0], bytes, GFP_KERNEL);
if (!*params) {
ret = -ENOMEM;
goto exit;
}
- *num_params = msg.num_elems;
+ *num_params = reply->num_elems;
exit:
kfree(reply);