diff options
author | Christoph Hellwig <hch@lst.de> | 2017-09-05 12:46:47 -0400 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2017-09-06 10:36:23 -0400 |
commit | f723fa4e69920f6a5dd5fa0d10ce90e2f14d189c (patch) | |
tree | 75754abc829902a310de4fe71d7f6ebf935b555f /drivers/ata/ahci.c | |
parent | 687abc0f77c239dc4cc93ea5cd27cfad76ddd038 (diff) |
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.
Reported-by: John Loy <john.robert.loy@gmail.com>
Tested-by: John Loy <john.robert.loy@gmail.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Fixes: d684a90d38e2 ("ahci: per-port msix support")
Cc: stable@vger.kernel.org # v4.5+
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'drivers/ata/ahci.c')
-rw-r--r-- | drivers/ata/ahci.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index 5a5fd0b404eb..cb9b0e9090e3 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c | |||
@@ -1469,7 +1469,14 @@ static void ahci_remap_check(struct pci_dev *pdev, int bar, | |||
1469 | return; | 1469 | return; |
1470 | 1470 | ||
1471 | dev_warn(&pdev->dev, "Found %d remapped NVMe devices.\n", count); | 1471 | dev_warn(&pdev->dev, "Found %d remapped NVMe devices.\n", count); |
1472 | dev_warn(&pdev->dev, "Switch your BIOS from RAID to AHCI mode to use them.\n"); | 1472 | dev_warn(&pdev->dev, |
1473 | "Switch your BIOS from RAID to AHCI mode to use them.\n"); | ||
1474 | |||
1475 | /* | ||
1476 | * Don't rely on the msi-x capability in the remap case, | ||
1477 | * share the legacy interrupt across ahci and remapped devices. | ||
1478 | */ | ||
1479 | hpriv->flags |= AHCI_HFLAG_NO_MSI; | ||
1473 | } | 1480 | } |
1474 | 1481 | ||
1475 | static int ahci_get_irq_vector(struct ata_host *host, int port) | 1482 | static int ahci_get_irq_vector(struct ata_host *host, int port) |