Fam Zheng noticed that pci shutdown disables msi and msix of a device while device is still active. This was intended to fix kexec with fusion devices but had the unintended effect of breaking even regular shutdown when using virtio. The same problem would affect any driver which doesn't register a level interrupt handler when using msix. I think the fix is to avoid touching device on shutdown: we clear bus master anyway, so we won't get any more msi interrupts, and bus reset will clear the msi/msix state eventually anyway. Fam, could you please confirm whether this patchset fixes the problem you have observed? Thanks! Michael S. Tsirkin (4): pci: disable msi/msix at probe time pci: don't disable msi/msix at shutdown pci: make msi/msix shutdown functions static virtio_pci: drop msi_off on probe include/linux/pci.h | 4 ---- drivers/pci/msi.c | 4 ++-- drivers/pci/pci-driver.c | 8 ++++++-- drivers/virtio/virtio_pci_common.c | 3 --- 4 files changed, 8 insertions(+), 11 deletions(-) -- MST -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html