aboutsummaryrefslogtreecommitdiff
path: root/include/hw/audio
diff options
context:
space:
mode:
authorVolker Rümelin <vr_qemu@t-online.de>2024-02-18 09:33:41 +0100
committerMichael Tokarev <mjt@tls.msk.ru>2024-03-13 21:52:34 +0300
commit7820b9b7a0b5ac594a142538ce7bf62dc7711420 (patch)
tree0a52f2576017f35b67230ea7aad6f9d57e9e0bef /include/hw/audio
parentb5c6660ea60fa37f12b985b640b1223587e54d2c (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.h1
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