summaryrefslogtreecommitdiffstats
path: root/drivers/virtio/virtio_pci.c
diff options
context:
space:
mode:
authorMichael S. Tsirkin <mst@redhat.com>2009-11-29 16:52:00 +0100
committerMichael S. Tsirkin <mst@redhat.com>2010-03-02 12:41:14 +0100
commitbc505f373979692d51a86d40925f77a8b09d17b9 (patch)
tree9a40aee54a4010af3eb0209db49f1193d4e45511 /drivers/virtio/virtio_pci.c
parentvirtio: fix out of range array access (diff)
downloadlinux-bc505f373979692d51a86d40925f77a8b09d17b9.tar.xz
linux-bc505f373979692d51a86d40925f77a8b09d17b9.zip
virtio: set pci bus master enable bit
As all virtio devices perform DMA, we must enable bus mastering for them to be spec compliant. This patch fixes hotplug of virtio devices with Linux guests and qemu 0.11-0.12. Tested-by: Alexander Graf <agraf@suse.de> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'drivers/virtio/virtio_pci.c')
-rw-r--r--drivers/virtio/virtio_pci.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/virtio/virtio_pci.c b/drivers/virtio/virtio_pci.c
index 1b6573216998..625447f645d9 100644
--- a/drivers/virtio/virtio_pci.c
+++ b/drivers/virtio/virtio_pci.c
@@ -649,6 +649,7 @@ static int __devinit virtio_pci_probe(struct pci_dev *pci_dev,
goto out_req_regions;
pci_set_drvdata(pci_dev, vp_dev);
+ pci_set_master(pci_dev);
/* we use the subsystem vendor/device id as the virtio vendor/device
* id. this allows us to use the same PCI vendor/device id for all