linux/sound/soc/sof
Peter Ujfalusi 885ec85776 ASoC: SOF: ipc4-control: Keep the payload size up to date
[ Upstream commit ebcfdbe4ad ]

When the bytes data is read from the firmware, the size of the payload
can be different than what it was previously.
For example when the topology did not contained payload data at all for the
control, the data size was 0.
For get operation allow maximum size of payload to be read and then update
the sizes according to the completed message.

Similarly, keep the size in sync when updating the data in firmware.

With the change we will be able to read data from firmware for bytes
controls which did not had initial payload defined in topology.

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-5-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2026-03-04 07:21:36 -05:00
..
amd ASoC: SOF: amd: acp-loader: Use GFP_KERNEL for DMA allocations in resume context 2025-08-28 16:30:59 +02:00
imx ASoC: Switch back to struct platform_driver::remove() 2024-09-09 18:26:49 +01:00
intel ASoC: SOF: Intel: hda: Fix NULL pointer dereference 2026-03-04 07:21:09 -05:00
mediatek ASoC: Switch back to struct platform_driver::remove() 2024-09-09 18:26:49 +01:00
xtensa ASoC: SOF: reorder MODULE_ definitions 2024-05-27 21:19:26 +01:00
compress.c ASoC: SOF: Use no_reply calls for TX 2023-04-20 12:51:45 +01:00
control.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
core.c ASoC: SOF: reorder MODULE_ definitions 2024-05-27 21:19:26 +01:00
debug.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
fw-file-profile.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
iomem-utils.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
ipc.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
ipc3-control.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
ipc3-dtrace.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
ipc3-loader.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
ipc3-pcm.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
ipc3-priv.h ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
ipc3-topology.c ASoC: SOF: ipc3-topology: Fix multi-core and static pipelines tear down 2025-10-15 12:00:21 +02:00
ipc3.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
ipc4-control.c ASoC: SOF: ipc4-control: Keep the payload size up to date 2026-03-04 07:21:36 -05:00
ipc4-fw-reg.h ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
ipc4-loader.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
ipc4-mtrace.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
ipc4-pcm.c ASoC: SOF: ipc4-pcm: Add fixup for channels 2025-11-13 15:34:16 -05:00
ipc4-priv.h ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
ipc4-telemetry.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
ipc4-telemetry.h ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
ipc4-topology.c ASoC: SOF: ipc4-topology: Correct the allocation size for bytes controls 2026-03-04 07:21:36 -05:00
ipc4-topology.h ASoC: SOF: ipc4-pcm: fix start offset calculation for chain DMA 2025-10-19 16:34:07 +02:00
ipc4.c ASoC: SOF: ipc4: Support for sending payload along with LARGE_CONFIG_GET 2026-03-04 07:21:00 -05:00
Kconfig ASoC: SOF: core: Implement IPC version fallback if firmware files are missing 2023-11-29 13:25:15 +00:00
loader.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
Makefile ASoC: SOF: Use *-y instead of *-objs in Makefile 2024-05-08 11:39:30 +09:00
nocodec.c ASoC: SOF: reorder MODULE_ definitions 2024-05-27 21:19:26 +01:00
ops.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
ops.h ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
pcm.c ASoC: SOF: pcm: Clear the susbstream pointer to NULL on close 2025-02-27 04:30:23 -08:00
pm.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
sof-acpi-dev.c ASoC: SOF: add missing MODULE_DESCRIPTION() 2024-05-27 21:19:27 +01:00
sof-acpi-dev.h ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
sof-audio.c ASoC: Merge up fixes 2024-06-21 13:17:21 +01:00
sof-audio.h ASoC: SOF: sof-audio: Avoid -Wflex-array-member-not-at-end warnings 2024-08-08 09:17:16 +01:00
sof-client-ipc-flood-test.c ASoC: SOF: reorder MODULE_ definitions 2024-05-27 21:19:26 +01:00
sof-client-ipc-kernel-injector.c ASoC: SOF: reorder MODULE_ definitions 2024-05-27 21:19:26 +01:00
sof-client-ipc-msg-injector.c ASoC: SOF: reorder MODULE_ definitions 2024-05-27 21:19:26 +01:00
sof-client-probes-ipc3.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
sof-client-probes-ipc4.c ASoC: SOF: sof-client-probes-ipc4: Set param_size extension bits 2024-11-07 15:35:52 +00:00
sof-client-probes.c ASoC: SOF: reorder MODULE_ definitions 2024-05-27 21:19:26 +01:00
sof-client-probes.h ASoC: SOF: IPC4: probes: Implement IPC4 ops for probes client device 2022-10-31 13:20:22 +00:00
sof-client.c auxbus: make to_auxiliary_drv accept and return a constant pointer 2024-06-13 16:43:26 +02:00
sof-client.h ASoC: SOF: Add IPC3 Kernel Injector 2023-06-09 10:44:40 +01:00
sof-of-dev.c ASoC: SOF: add missing MODULE_DESCRIPTION() 2024-05-27 21:19:27 +01:00
sof-of-dev.h ASoC: SOF: Move sof_of_machine_select() to core.c from sof-of-dev.c 2023-12-04 17:02:15 +00:00
sof-pci-dev.c ASoC: SOF: add missing MODULE_DESCRIPTION() 2024-05-27 21:19:27 +01:00
sof-pci-dev.h ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
sof-priv.h ASoC: SOF: sof-priv.h: optimize snd_sof_ipc_msg 2024-08-02 14:05:15 +01:00
sof-utils.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
sof-utils.h ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
stream-ipc.c ASoC: SOF: stream-ipc: Check for cstream nullity in sof_ipc_msg_data() 2025-02-27 04:30:22 -08:00
topology.c ASoC: SOF: topology: Parse the dapm_widget_tokens in case of DSPless mode 2025-08-20 18:30:26 +02:00
trace.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00