From: Jared Rossi <[email protected]> The virtio spec necessitates that live virtqueues must not be altered. Reset the failed device so that the queues are not live before we attempt to boot any fallback devices.
Reviewed-by: Thomas Huth <[email protected]> Reviewed-by: Eric Farman <[email protected]> Signed-off-by: Jared Rossi <[email protected]> --- pc-bios/s390-ccw/main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pc-bios/s390-ccw/main.c b/pc-bios/s390-ccw/main.c index 76bf743900..8e2c99bee1 100644 --- a/pc-bios/s390-ccw/main.c +++ b/pc-bios/s390-ccw/main.c @@ -277,7 +277,8 @@ static void ipl_boot_device(void) break; case CU_TYPE_VIRTIO: if (virtio_setup() == 0) { - zipl_load(); + zipl_load(); /* only return on error */ + virtio_reset(virtio_get_device()); } break; default: -- 2.52.0
