ASoC: SOF: ipc4-control: If there is no data do not send bytes update

When the bytes control have no data (payload) then there is no need to send
an IPC message as there is nothing to send.

Fixes: a062c8899f ("ASoC: SOF: ipc4-control: Add support for bytes control get and put")
Cc: stable@vger.kernel.org
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://patch.msgid.link/20251217143945.2667-2-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Peter Ujfalusi 2025-12-17 16:39:38 +02:00 committed by Mark Brown
parent 8f0b4cce44
commit 2fa7471374
No known key found for this signature in database
GPG Key ID: 24D68B725D5487D0

View File

@ -412,8 +412,16 @@ static int sof_ipc4_set_get_bytes_data(struct snd_sof_dev *sdev,
int ret = 0;
/* Send the new data to the firmware only if it is powered up */
if (set && !pm_runtime_active(sdev->dev))
return 0;
if (set) {
if (!pm_runtime_active(sdev->dev))
return 0;
if (!data->size) {
dev_dbg(sdev->dev, "%s: No data to be sent.\n",
scontrol->name);
return 0;
}
}
msg->extension = SOF_IPC4_MOD_EXT_MSG_PARAM_ID(data->type);