diff options
-rw-r--r-- | drivers/pci/pci.c | 1 | ||||
-rw-r--r-- | drivers/virtio/virtio_pci.c | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 60f30e7f1c8c..740fb4ea9669 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c | |||
@@ -2292,6 +2292,7 @@ void pci_msi_off(struct pci_dev *dev) | |||
2292 | pci_write_config_word(dev, pos + PCI_MSIX_FLAGS, control); | 2292 | pci_write_config_word(dev, pos + PCI_MSIX_FLAGS, control); |
2293 | } | 2293 | } |
2294 | } | 2294 | } |
2295 | EXPORT_SYMBOL_GPL(pci_msi_off); | ||
2295 | 2296 | ||
2296 | #ifndef HAVE_ARCH_PCI_SET_DMA_MAX_SEGMENT_SIZE | 2297 | #ifndef HAVE_ARCH_PCI_SET_DMA_MAX_SEGMENT_SIZE |
2297 | int pci_set_dma_max_seg_size(struct pci_dev *dev, unsigned int size) | 2298 | int pci_set_dma_max_seg_size(struct pci_dev *dev, unsigned int size) |
diff --git a/drivers/virtio/virtio_pci.c b/drivers/virtio/virtio_pci.c index 95896f387927..ef8d9d558fc7 100644 --- a/drivers/virtio/virtio_pci.c +++ b/drivers/virtio/virtio_pci.c | |||
@@ -636,6 +636,9 @@ static int __devinit virtio_pci_probe(struct pci_dev *pci_dev, | |||
636 | INIT_LIST_HEAD(&vp_dev->virtqueues); | 636 | INIT_LIST_HEAD(&vp_dev->virtqueues); |
637 | spin_lock_init(&vp_dev->lock); | 637 | spin_lock_init(&vp_dev->lock); |
638 | 638 | ||
639 | /* Disable MSI/MSIX to bring device to a known good state. */ | ||
640 | pci_msi_off(pci_dev); | ||
641 | |||
639 | /* enable the device */ | 642 | /* enable the device */ |
640 | err = pci_enable_device(pci_dev); | 643 | err = pci_enable_device(pci_dev); |
641 | if (err) | 644 | if (err) |