John Levon 4aedda25e8 virtio: reset device on bad guest index in virtio_load()
If we find a queue with an inconsistent guest index value, explicitly mark the
device as needing a reset - and broken - via virtio_error().

There's at least one driver implementation - the virtio-win NetKVM driver - that
is able to handle a VIRTIO_CONFIG_S_NEEDS_RESET notification and successfully
restore the device to a working state. Other implementations do not correctly
handle this, but as the VQ is not in a functional state anyway, this is still
worth doing.

Signed-off-by: John Levon <john.levon@nutanix.com>
Message-Id: <20201120185103.GA442386@sent>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2020-12-08 13:48:57 -05:00
..
2020-08-21 06:30:32 -04:00
2020-12-08 13:48:57 -05:00
2020-09-09 09:27:09 -04:00
2020-12-08 13:48:57 -05:00
2020-08-21 06:30:25 -04:00
2020-08-21 06:30:33 -04:00
2020-08-27 14:04:55 -04:00
2020-12-08 13:48:57 -05:00
2020-12-08 13:48:57 -05:00
2020-08-21 06:30:25 -04:00
2020-11-10 11:03:47 +00:00
2020-11-15 16:44:18 +01:00
2020-08-21 06:30:33 -04:00
2020-11-20 10:43:41 -05:00
2020-08-21 06:30:33 -04:00
2020-08-21 06:30:33 -04:00