> Use virtio_get_config_size() rather than sizeof(struct > virtio_snd_config) for the config_size in the vhost-user-snd frontend. > The frontend shall rely on device features for the size of the device > configuration space. The presence of `controls` in the config space > depends on VIRTIO_SND_F_CTLS according to the specification (v1.3): > ` > 5.14.4 Device Configuration Layout > ... > controls > (driver-read-only) indicates a total number of all available control > elements if VIRTIO_SND_F_CTLS has been negotiated. > ` > This fixes an issue introduced by commit ab0c7fb2 ("linux-headers: > update to current kvm/next") in which the optional field `controls` is > added to the virtio_snd_config structure. This breaks vhost-user-device > backends that do not implement the `controls` field. > Fixes: ab0c7fb22b ("linux-headers: update to current kvm/next") > Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2805 > Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> > Suggested-by: Stefano Garzarella <sgarz...@redhat.com> > Signed-off-by: Matias Ezequiel Vara Larsen <mvara...@redhat.com> > --- > Changes in v2: > - Addressed comments from Stefano Garzarella about commit msg and the > property name. > --- > hw/virtio/vhost-user-snd.c | 18 +++++++++++++++++- > 1 file changed, 17 insertions(+), 1 deletion(-)
Reviewed-by: Dorinda Bassey <dbas...@redhat.com>