diff mbox series

[SRU,Bionic,2/2] UBUNTU: SAUCE: Revert "PCI/MSI: Enforce that MSI-X table entry is masked for update"

Message ID 20211015105429.183146-3-kleber.souza@canonical.com
State New
Headers show
Series Revert PCI/MSI changes to fix boot issues (LP#1946149) | expand

Commit Message

Kleber Sacilotto de Souza Oct. 15, 2021, 10:54 a.m. UTC
BugLink: https://bugs.launchpad.net/bugs/194614

This reverts commit 27571f5ea1dd074924b41a455c50dc2278e8c2b7.

Upstream commit da181dc974ad667579baece33c2c8d2d1e4558d5 when applied
to Ubuntu kernel 4.15 is causing boot issues on some hardware platforms.
Revert the change until a better solution is not found.

Signed-off-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
---
 drivers/pci/msi.c | 15 ---------------
 1 file changed, 15 deletions(-)
diff mbox series

Patch

diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
index 7497c37a1e48..455f66fad1c5 100644
--- a/drivers/pci/msi.c
+++ b/drivers/pci/msi.c
@@ -303,25 +303,10 @@  void __pci_write_msi_msg(struct msi_desc *entry, struct msi_msg *msg)
 		/* Don't touch the hardware now */
 	} else if (entry->msi_attrib.is_msix) {
 		void __iomem *base = pci_msix_desc_addr(entry);
-		bool unmasked = !(entry->masked & PCI_MSIX_ENTRY_CTRL_MASKBIT);
-
-		/*
-		 * The specification mandates that the entry is masked
-		 * when the message is modified:
-		 *
-		 * "If software changes the Address or Data value of an
-		 * entry while the entry is unmasked, the result is
-		 * undefined."
-		 */
-		if (unmasked)
-			__pci_msix_desc_mask_irq(entry, PCI_MSIX_ENTRY_CTRL_MASKBIT);
 
 		writel(msg->address_lo, base + PCI_MSIX_ENTRY_LOWER_ADDR);
 		writel(msg->address_hi, base + PCI_MSIX_ENTRY_UPPER_ADDR);
 		writel(msg->data, base + PCI_MSIX_ENTRY_DATA);
-
-		if (unmasked)
-			__pci_msix_desc_mask_irq(entry, 0);
 	} else {
 		int pos = dev->msi_cap;
 		u16 msgctl;