ASoC: SOF: sof-client-probes: Query the maximum IPC payload size
Instead of using the SOF_IPC_MSG_MAX_SIZE as the maximum payload size for and IPC message, use the provided API to query it. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com> Link: https://lore.kernel.org/r/20220506132647.18690-4-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Родитель
ef368c3347
Коммит
a1e5bbc8ea
|
@ -132,6 +132,7 @@ static int sof_probes_deinit(struct sof_client_dev *cdev)
|
|||
static int sof_probes_info(struct sof_client_dev *cdev, unsigned int cmd,
|
||||
void **params, size_t *num_params)
|
||||
{
|
||||
size_t max_msg_size = sof_client_get_ipc_max_payload_size(cdev);
|
||||
struct sof_ipc_probe_info_params msg = {{{0}}};
|
||||
struct sof_ipc_probe_info_params *reply;
|
||||
size_t bytes;
|
||||
|
@ -140,13 +141,13 @@ static int sof_probes_info(struct sof_client_dev *cdev, unsigned int cmd,
|
|||
*params = NULL;
|
||||
*num_params = 0;
|
||||
|
||||
reply = kzalloc(SOF_IPC_MSG_MAX_SIZE, GFP_KERNEL);
|
||||
reply = kzalloc(max_msg_size, GFP_KERNEL);
|
||||
if (!reply)
|
||||
return -ENOMEM;
|
||||
msg.rhdr.hdr.size = sizeof(msg);
|
||||
msg.rhdr.hdr.cmd = SOF_IPC_GLB_PROBE | cmd;
|
||||
|
||||
ret = sof_client_ipc_tx_message(cdev, &msg, reply, SOF_IPC_MSG_MAX_SIZE);
|
||||
ret = sof_client_ipc_tx_message(cdev, &msg, reply, max_msg_size);
|
||||
if (ret < 0 || reply->rhdr.error < 0)
|
||||
goto exit;
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче