linux-yocto/drivers/virtio
Laurent Vivier bf812206f2 virtio_ring: Fix error reporting in virtqueue_resize
[ Upstream commit 45ebc7e6c1 ]

The virtqueue_resize() function was not correctly propagating error codes
from its internal resize helper functions, specifically
virtqueue_resize_packet() and virtqueue_resize_split(). If these helpers
returned an error, but the subsequent call to virtqueue_enable_after_reset()
succeeded, the original error from the resize operation would be masked.
Consequently, virtqueue_resize() could incorrectly report success to its
caller despite an underlying resize failure.

This change restores the original code behavior:

       if (vdev->config->enable_vq_after_reset(_vq))
               return -EBUSY;

       return err;

Fix: commit ad48d53b5b ("virtio_ring: separate the logic of reset/enable from virtqueue_resize")
Cc: xuanzhuo@linux.alibaba.com
Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Link: https://patch.msgid.link/20250521092236.661410-2-lvivier@redhat.com
Tested-by: Lei Yang <leiyang@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-08-01 09:48:39 +01:00
..
Kconfig
Makefile
virtio_anchor.c
virtio_balloon.c
virtio_debug.c
virtio_dma_buf.c
virtio_input.c
virtio_mem.c
virtio_mmio.c
virtio_pci_admin_legacy_io.c
virtio_pci_common.c
virtio_pci_common.h
virtio_pci_legacy_dev.c
virtio_pci_legacy.c
virtio_pci_modern_dev.c
virtio_pci_modern.c
virtio_ring.c virtio_ring: Fix error reporting in virtqueue_resize 2025-08-01 09:48:39 +01:00
virtio_vdpa.c
virtio.c