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: f3b433e469
("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>
This commit is contained in:
Родитель
62f9ed5f87
Коммит
a3b7343e3f
|
@ -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);
|
||||
|
|
Загрузка…
Ссылка в новой задаче