]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commitdiff
UBUNTU: SAUCE: Revert "PCI/MSI: Mask MSI-X vectors only on success"
authorKleber Sacilotto de Souza <kleber.souza@canonical.com>
Wed, 23 Feb 2022 08:49:46 +0000 (09:49 +0100)
committerStefan Bader <stefan.bader@canonical.com>
Mon, 7 Mar 2022 15:37:43 +0000 (16:37 +0100)
BugLink: https://bugs.launchpad.net/bugs/1961968
This reverts upstream commit 6032046ec4b70176d247a71836186d47b25d1684.

This commit is causing PCI-E initialization failures on some systems.
Revert this patch for now until a follow-up fix is found.

Signed-off-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
Acked-by: Stefan Bader <stefan.bader@canonical.com>
Acked-by: Andrea Righi <andrea.righi@canonical.com>
Signed-off-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
drivers/pci/msi.c

index 715c85d4e688de137567d246fdad4f5483146f0e..ee2205b65e2c23930876ba52a325a16a5c09f59a 100644 (file)
@@ -827,6 +827,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(base, tsize);
+
        ret = msix_setup_entries(dev, base, entries, nvec, affd);
        if (ret)
                goto out_disable;
@@ -849,16 +852,6 @@ static int msix_capability_init(struct pci_dev *dev, struct msix_entry *entries,
        /* Set MSI-X enabled bits and unmask the function */
        pci_intx_for_msi(dev, 0);
        dev->msix_enabled = 1;
-
-       /*
-        * 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(base, tsize);
        pci_msix_clear_and_set_ctrl(dev, PCI_MSIX_FLAGS_MASKALL, 0);
 
        pcibios_free_irq(dev);