From: Stefano Garzarella <sgarz...@redhat.com> Commit d152cdd6f6 ("virtio: use virtio accessor to access packed event") switched using of address_space_read_cached() to virito_lduw_phys_cached() to access packed descriptor event.
When we used address_space_read_cached(), we needed to call virtio_tswap16s() to handle the endianess of the field, but virito_lduw_phys_cached() already handles it internally, so we no longer need to call virtio_tswap16s() (as the commit had done for `off_wrap`, but forgot for `flags`). Fixes: d152cdd6f6 ("virtio: use virtio accessor to access packed event") Cc: jasow...@redhat.com Cc: qemu-sta...@nongnu.org Reported-by: Xoykie <xoy...@gmail.com> Link: https://lore.kernel.org/qemu-devel/cafu8rb_pjr77zmlsm0unf9xpnxfr_--tjr49f_ex32zbc5o...@mail.gmail.com Signed-off-by: Stefano Garzarella <sgarz...@redhat.com> Message-Id: <20240701075208.19634-1-sgarz...@redhat.com> Acked-by: Jason Wang <jasow...@redhat.com> Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> Reviewed-by: Eugenio PĂ©rez <epere...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> (cherry picked from commit 7aa6492401e95fb296dec7cda81e67d91f6037d7) Signed-off-by: Michael Tokarev <m...@tls.msk.ru> diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c index c177c31ca0..157567912e 100644 --- a/hw/virtio/virtio.c +++ b/hw/virtio/virtio.c @@ -322,7 +322,6 @@ static void vring_packed_event_read(VirtIODevice *vdev, /* Make sure flags is seen before off_wrap */ smp_rmb(); e->off_wrap = virtio_lduw_phys_cached(vdev, cache, off_off); - virtio_tswap16s(vdev, &e->flags); } static void vring_packed_off_wrap_write(VirtIODevice *vdev, -- 2.39.2