Skip to contentSkip to conversation

FAILED: patch "[PATCH] ahci: don't use MSI for devices with the silly Intel NVMe" failed to apply to 4.9-stable tree

PATCH [email protected] 1 participant 1 message Sep 7, 2017

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer
#0 lore raw

The patch below does not apply to the 4.9-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

Quoted 1 line

From f723fa4e69920f6a5dd5fa0d10ce90e2f14d189c Mon Sep 17 00:00:00 2001

From: Christoph Hellwig <[email protected]>
Date: Tue, 5 Sep 2017 18:46:47 +0200
Subject: [PATCH] ahci: don't use MSI for devices with the silly Intel NVMe
remapping scheme

Intel AHCI controllers that also hide NVMe devices in their bar can't use MSI interrupts, so disable them.

Fixes d684a90d38e2 ("ahci: per-port msix support")
drivers/ata/ahci.c +8 -1
index 5a5fd0b404eb..cb9b0e9090e3 100644
@@ -1469,7 +1469,14 @@ static void ahci_remap_check(struct pci_dev *pdev, int bar,
 		return;
 
 	dev_warn(&pdev->dev, "Found %d remapped NVMe devices.\n", count);
-	dev_warn(&pdev->dev, "Switch your BIOS from RAID to AHCI mode to use them.\n");
+	dev_warn(&pdev->dev,
+		 "Switch your BIOS from RAID to AHCI mode to use them.\n");
+
+	/*
+	 * Don't rely on the msi-x capability in the remap case,
+	 * share the legacy interrupt across ahci and remapped devices.
+	 */
+	hpriv->flags |= AHCI_HFLAG_NO_MSI;
 }
 
 static int ahci_get_irq_vector(struct ata_host *host, int port)