X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=drivers%2Fvirtio%2Fvirtio_pci.c;h=24747aef1952880ca686a1b8d9506acb1e174f55;hb=94c4fcec0144e032ef7d4ec761ab81d570b0bc2a;hp=1d5191fab62e440928376f33666a92a15d7be5df;hpb=30ff056c42c665b9ea535d8515890857ae382540;p=~andy%2Flinux diff --git a/drivers/virtio/virtio_pci.c b/drivers/virtio/virtio_pci.c index 1d5191fab62..24747aef195 100644 --- a/drivers/virtio/virtio_pci.c +++ b/drivers/virtio/virtio_pci.c @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include @@ -473,7 +474,8 @@ static void vp_del_vqs(struct virtio_device *vdev) list_for_each_entry_safe(vq, n, &vdev->vqs, list) { info = vq->priv; - if (vp_dev->per_vq_vectors) + if (vp_dev->per_vq_vectors && + info->msix_vector != VIRTIO_MSI_NO_VECTOR) free_irq(vp_dev->msix_entries[info->msix_vector].vector, vq); vp_del_vq(vq); @@ -648,6 +650,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