[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PULL 08/63] Add virtio-sound device stub
|
From: |
Peter Maydell |
|
Subject: |
Re: [PULL 08/63] Add virtio-sound device stub |
|
Date: |
Thu, 9 Nov 2023 14:30:18 +0000 |
On Tue, 7 Nov 2023 at 10:10, Michael S. Tsirkin <mst@redhat.com> wrote:
>
> From: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
>
> Add a new VIRTIO device for the virtio sound device id. Functionality
> will be added in the following commits.
>
> +static void virtio_snd_realize(DeviceState *dev, Error **errp)
> +{
> + ERRP_GUARD();
> + VirtIOSound *vsnd = VIRTIO_SND(dev);
> + VirtIODevice *vdev = VIRTIO_DEVICE(dev);
> +
> + vsnd->vmstate =
> + qemu_add_vm_change_state_handler(virtio_snd_vm_state_change, vsnd);
> +
> + trace_virtio_snd_realize(vsnd);
> +
> + virtio_init(vdev, VIRTIO_ID_SOUND, sizeof(virtio_snd_config));
> + virtio_add_feature(&vsnd->features, VIRTIO_F_VERSION_1);
> +
> + /* set number of jacks and streams */
> + if (vsnd->snd_conf.jacks > 8) {
> + error_setg(errp,
> + "Invalid number of jacks: %"PRIu32,
> + vsnd->snd_conf.jacks);
> + return;
> + }
> + if (vsnd->snd_conf.streams < 1 || vsnd->snd_conf.streams > 10) {
> + error_setg(errp,
> + "Invalid number of streams: %"PRIu32,
> + vsnd->snd_conf.streams);
> + return;
> + }
> +
> + if (vsnd->snd_conf.chmaps > VIRTIO_SND_CHMAP_MAX_SIZE) {
> + error_setg(errp,
> + "Invalid number of channel maps: %"PRIu32,
> + vsnd->snd_conf.chmaps);
> + return;
> + }
> +
> + AUD_register_card("virtio-sound", &vsnd->card, errp);
Hi; Coverity points out (CID 1523899) that we don't check the
error from this function. We should check for failure and return
early if so.
> +
> + vsnd->queues[VIRTIO_SND_VQ_CONTROL] =
> + virtio_add_queue(vdev, 64, virtio_snd_handle_queue);
> + vsnd->queues[VIRTIO_SND_VQ_EVENT] =
> + virtio_add_queue(vdev, 64, virtio_snd_handle_queue);
> + vsnd->queues[VIRTIO_SND_VQ_TX] =
> + virtio_add_queue(vdev, 64, virtio_snd_handle_queue);
> + vsnd->queues[VIRTIO_SND_VQ_RX] =
> + virtio_add_queue(vdev, 64, virtio_snd_handle_queue);
> +}
thanks
-- PMM
- [PULL 01/63] vhost-user.rst: Improve [GS]ET_VRING_BASE doc, (continued)
- [PULL 01/63] vhost-user.rst: Improve [GS]ET_VRING_BASE doc, Michael S. Tsirkin, 2023/11/07
- [PULL 02/63] vhost-user.rst: Clarify enabling/disabling vrings, Michael S. Tsirkin, 2023/11/07
- [PULL 03/63] vhost-user.rst: Introduce suspended state, Michael S. Tsirkin, 2023/11/07
- [PULL 06/63] vhost: Add high-level state save/load functions, Michael S. Tsirkin, 2023/11/07
- [PULL 07/63] vhost-user-fs: Implement internal migration, Michael S. Tsirkin, 2023/11/07
- [PULL 11/63] virtio-sound: handle VIRTIO_SND_R_PCM_INFO request, Michael S. Tsirkin, 2023/11/07
- [PULL 05/63] vhost-user: Interface for migration state transfer, Michael S. Tsirkin, 2023/11/07
- [PULL 04/63] vhost-user.rst: Migrating back-end-internal state, Michael S. Tsirkin, 2023/11/07
- [PULL 12/63] virtio-sound: handle VIRTIO_SND_R_PCM_{START,STOP}, Michael S. Tsirkin, 2023/11/07
- [PULL 08/63] Add virtio-sound device stub, Michael S. Tsirkin, 2023/11/07
- Re: [PULL 08/63] Add virtio-sound device stub,
Peter Maydell <=
- [PULL 10/63] virtio-sound: handle control messages and streams, Michael S. Tsirkin, 2023/11/07
- [PULL 13/63] virtio-sound: handle VIRTIO_SND_R_PCM_SET_PARAMS, Michael S. Tsirkin, 2023/11/07
- [PULL 09/63] Add virtio-sound-pci device, Michael S. Tsirkin, 2023/11/07
- [PULL 14/63] virtio-sound: handle VIRTIO_SND_R_PCM_PREPARE, Michael S. Tsirkin, 2023/11/07
- [PULL 15/63] virtio-sound: handle VIRTIO_SND_R_PCM_RELEASE, Michael S. Tsirkin, 2023/11/07
- [PULL 19/63] vdpa: Restore hash calculation state, Michael S. Tsirkin, 2023/11/07
- [PULL 16/63] virtio-sound: implement audio output (TX), Michael S. Tsirkin, 2023/11/07