From 8a911107386b5c7a78a629f0fe29381cf0ea5f6f Mon Sep 17 00:00:00 2001 From: Alex Williamson Date: Thu, 17 Jun 2010 09:15:02 -0600 Subject: [PATCH] virtio-pci: fix bus master bug setting on load The comment suggests we're checking for the driver in the ready state and bus master disabled, but the code is checking that it's not in the ready state. Signed-off-by: Alex Williamson Found-by: Amit Shah Signed-off-by: Anthony Liguori --- hw/virtio-pci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/virtio-pci.c b/hw/virtio-pci.c index 9accb77ee5..d1303b1a38 100644 --- a/hw/virtio-pci.c +++ b/hw/virtio-pci.c @@ -155,7 +155,7 @@ static int virtio_pci_load_config(void * opaque, QEMUFile *f) /* Try to find out if the guest has bus master disabled, but is in ready state. Then we have a buggy guest OS. */ - if (!(proxy->vdev->status & VIRTIO_CONFIG_S_DRIVER_OK) && + if ((proxy->vdev->status & VIRTIO_CONFIG_S_DRIVER_OK) && !(proxy->pci_dev.config[PCI_COMMAND] & PCI_COMMAND_MASTER)) { proxy->bugs |= VIRTIO_PCI_BUG_BUS_MASTER; }