virtio: set low features early on load
virtio migrates the low 32 feature bits twice, the first copy is there for compatibility but ever since 019a3edb: ("virtio: make features 64bit wide") it's ignored on load. This is wrong since virtio_net_load tests self announcement and guest offloads before the second copy including high feature bits is loaded. This means that self announcement, control vq and guest offloads are all broken after migration. Fix it up by loading low feature bits: somewhat ugly since high and low bits become out of sync temporarily, but seems unavoidable for compatibility. The right thing to do for new features is probably to test the host features, anyway. Fixes: 019a3edb ("virtio: make features 64bit wide") Cc: qemu-stable@nongnu.org Reported-by: NRobin Geuze <robing@transip.nl> Tested-by: NRobin Geuze <robing@transip.nl> Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
Showing