s390/ipl: Fix spurious errors in virtio
With the ccw ipl code sometimes an error message like "virtio: trying to map MMIO memory" or "Guest moved used index from %u to %u" appeared. Turns out that the ccw bios did not zero out the vring, which might cause stale values in avail->idx and friends, especially on reboot. Lets zero out the relevant fields. To activate the patch we need to rebuild s390-ccw.img as well. Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Message-id: 1369309901-418-1-git-send-email-borntraeger@de.ibm.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
0a1f348c42
commit
39c93c67c5
@ -114,8 +114,13 @@ static void vring_init(struct vring *vr, unsigned int num, void *p,
|
||||
vr->used = (void *)(((unsigned long)&vr->avail->ring[num] + align-1)
|
||||
& ~(align - 1));
|
||||
|
||||
/* Zero out all relevant field */
|
||||
vr->avail->flags = 0;
|
||||
vr->avail->idx = 0;
|
||||
|
||||
/* We're running with interrupts off anyways, so don't bother */
|
||||
vr->used->flags = VRING_USED_F_NO_NOTIFY;
|
||||
vr->used->idx = 0;
|
||||
|
||||
debug_print_addr("init vr", vr);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user