diff options
author | Volker Rümelin <vr_qemu@t-online.de> | 2024-02-18 09:33:41 +0100 |
---|---|---|
committer | Michael Tokarev <mjt@tls.msk.ru> | 2024-03-13 21:52:34 +0300 |
commit | 7820b9b7a0b5ac594a142538ce7bf62dc7711420 (patch) | |
tree | 0a52f2576017f35b67230ea7aad6f9d57e9e0bef /include/hw/audio | |
parent | b5c6660ea60fa37f12b985b640b1223587e54d2c (diff) |
hw/audio/virtio-sound: return correct command response size
The payload size returned by command VIRTIO_SND_R_PCM_INFO is
wrong. The code in process_cmd() assumes that all commands
return only a virtio_snd_hdr payload, but some commands like
VIRTIO_SND_R_PCM_INFO may return an additional payload.
Add a zero initialized payload_size variable to struct
virtio_snd_ctrl_command to allow for additional payloads.
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Volker Rümelin <vr_qemu@t-online.de>
Message-Id: <20240218083351.8524-1-vr_qemu@t-online.de>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
(cherry picked from commit 633487df8d303b37a88584d5a57a39dbcd91c7bf)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
Diffstat (limited to 'include/hw/audio')
-rw-r--r-- | include/hw/audio/virtio-snd.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/hw/audio/virtio-snd.h b/include/hw/audio/virtio-snd.h index c3767f442b..3d79181364 100644 --- a/include/hw/audio/virtio-snd.h +++ b/include/hw/audio/virtio-snd.h @@ -230,6 +230,7 @@ struct virtio_snd_ctrl_command { VirtQueue *vq; virtio_snd_hdr ctrl; virtio_snd_hdr resp; + size_t payload_size; QTAILQ_ENTRY(virtio_snd_ctrl_command) next; }; #endif |