pc-bios/s390-ccw: Re-initialize receive queue index before each boot attempt
authorThomas Huth <thuth@redhat.com>
Mon, 11 Nov 2024 13:11:20 +0000 (14:11 +0100)
committerThomas Huth <thuth@redhat.com>
Mon, 18 Nov 2024 16:14:35 +0000 (17:14 +0100)
Now that we can boot from multiple boot devices, we have to make sure
to reinitialize static variables like rx_last_idx to avoid that they
contain garbage data during the second boot attempt (which can lead to
crashes when the code tries to access the wrong ring data).

Message-ID: <20241111131120.317796-1-thuth@redhat.com>
Reviewed-by: Jared Rossi <jrossi@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
pc-bios/s390-ccw/virtio-net.c

index f9854a22c3a3a8b5dd3ec27c214d65449fdb5540..578c89d0c58f96ad11805cf125a2ec8cf3283671 100644 (file)
@@ -51,6 +51,8 @@ int virtio_net_init(void *mac_addr)
     void *buf;
     int i;
 
+    rx_last_idx = 0;
+
     vdev->guest_features[0] = VIRTIO_NET_F_MAC_BIT;
     virtio_setup_ccw(vdev);