The current code does not initialize next_idx in the virtio ring. As the ccw bios will always use guest memory at a fixed location, this queue might != 0 after a reboot. Lets make the initialization explicit.
Signed-off-by: Christian Borntraeger <borntrae...@de.ibm.com> Reviewed-by: Cornelia Huck <cornelia.h...@de.ibm.com> --- pc-bios/s390-ccw/virtio.c | 1 + 1 file changed, 1 insertion(+) diff --git a/pc-bios/s390-ccw/virtio.c b/pc-bios/s390-ccw/virtio.c index 4d6e48f..a46914d 100644 --- a/pc-bios/s390-ccw/virtio.c +++ b/pc-bios/s390-ccw/virtio.c @@ -124,6 +124,7 @@ static void vring_init(struct vring *vr, unsigned int num, void *p, vr->used->flags = VRING_USED_F_NO_NOTIFY; vr->used->idx = 0; vr->used_idx = 0; + vr->next_idx = 0; debug_print_addr("init vr", vr); } -- 1.8.4.2