]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
UBUNTU: SAUCE: Revert "PCI/MSI: Mask MSI-X vectors only on success"
authorAndrea Righi <andrea.righi@canonical.com>
Wed, 18 Jan 2023 07:16:14 +0000 (08:16 +0100)
committerAndrea Righi <andrea.righi@canonical.com>
Thu, 9 Mar 2023 14:58:22 +0000 (15:58 +0100)
BugLink: https://bugs.launchpad.net/bugs/1956780
This reverts commit 83dbf898a2d45289be875deb580e93050ba67529, that seems
to cause boot issues on c4.large instance types on AWS.

Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
drivers/pci/msi/msi.c

index 1f716624ca563421b4b6561150b33ff478f68fea..eac2cdd036147411d3012769ce755118b74e16f3 100644 (file)
@@ -722,6 +722,9 @@ static int msix_capability_init(struct pci_dev *dev, struct msix_entry *entries,
                goto out_disable;
        }
 
+       /* Ensure that all table entries are masked.  */
+       msix_mask_all(dev->msix_base, tsize);
+
        ret = msix_setup_interrupts(dev, entries, nvec, affd);
        if (ret)
                goto out_disable;
@@ -729,15 +732,6 @@ static int msix_capability_init(struct pci_dev *dev, struct msix_entry *entries,
        /* Disable INTX */
        pci_intx_for_msi(dev, 0);
 
-       /*
-        * Ensure that all table entries are masked to prevent
-        * stale entries from firing in a crash kernel.
-        *
-        * Done late to deal with a broken Marvell NVME device
-        * which takes the MSI-X mask bits into account even
-        * when MSI-X is disabled, which prevents MSI delivery.
-        */
-       msix_mask_all(dev->msix_base, tsize);
        pci_msix_clear_and_set_ctrl(dev, PCI_MSIX_FLAGS_MASKALL, 0);
 
        pcibios_free_irq(dev);