• Michael S. Tsirkin's avatar
    PCI/MSI: Disable MSI at enumeration even if kernel doesn't support MSI · 1851617c
    Michael S. Tsirkin authored
    If we enable MSI, then kexec a new kernel, the new kernel may receive MSIs
    it is not prepared for.  Commit d5dea7d9 ("PCI: msi: Disable msi
    interrupts when we initialize a pci device") prevents this, but only if the
    new kernel is built with CONFIG_PCI_MSI=y.
    
    Move the "disable MSI" functionality from drivers/pci/msi.c to a new
    pci_msi_setup_pci_dev() in drivers/pci/probe.c so we can disable MSIs when
    we enumerate devices even if the kernel doesn't include full MSI support.
    
    [bhelgaas: changelog, disable MSIs in pci_setup_device(), put
    pci_msi_setup_pci_dev() at its final destination]
    Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
    Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
    1851617c
msi.c 33.8 KB