From: Akihiko Odaki Date: Wed, 8 Jan 2025 12:13:29 +0000 (+0900) Subject: virtio-net: Fix num_buffers for version 1 X-Git-Tag: v9.2.4~53 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ff765e490eef83480d07673e115060228b01d55e;p=thirdparty%2Fqemu.git virtio-net: Fix num_buffers for version 1 The specification says the device MUST set num_buffers to 1 if VIRTIO_NET_F_MRG_RXBUF has not been negotiated. Fixes: df91055db5c9 ("virtio-net: enable virtio 1.0") Signed-off-by: Akihiko Odaki Message-Id: <20250108-buffers-v1-1-a0c85ff31aeb@daynix.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin Tested-by: Lei Yang Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin (cherry picked from commit c17ad4b11bd268a35506cd976884562df6ca69d7) Signed-off-by: Michael Tokarev --- diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index f8c6ccbec4..78b7d88756 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -1999,6 +1999,8 @@ static ssize_t virtio_net_receive_rcu(NetClientState *nc, const uint8_t *buf, offsetof(typeof(hdr), virtio_net.hdr.num_buffers), sizeof(hdr.virtio_net.hdr.num_buffers)); + } else { + hdr.virtio_net.hdr.num_buffers = cpu_to_le16(1); } guest_offset = n->has_vnet_hdr ?