Re: Boot failure due to some interaction between per-port MSI-X and Intel RST

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 9/3/17 11:16 PM, Christoph Hellwig wrote:
On Sun, Sep 03, 2017 at 06:42:35PM -0700, John Loy wrote:
I have a system that stopped booting Linux between kernel versions 4.4.9 and
4.5.3.  It has a SATA + NVMe accelerated volume that I use with Windows and
a separate SATA drive with my Linux installation.  I'm not expecting the
remapped NVMe thing to be accessible, just the Linux disk, but none of the
drives are accessible.

Bisecting the changes turned up d684a90 as the first failing change. Passing
pci=nomsi also allows the system to boot newer kernels.  Just to be sure, I
built a recent kernel (4.12.9) with the PCI_IRQ_MSIX flag removed from the
per-port call to pci_alloc_irq_vectors in ahci_init_msi.  This also allowed
the system to boot normally.

I'm totally out of my depth though so I'd really appreciate it if anyone has
some ideas on how to proceed with a proper fix.

Something like the patch below should work.  Maybe Intel can provide
an explanation on why their chipset is so fucked up that we can add
as a comment.

diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
index 5a5fd0b404eb..b8c8ecc854c4 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -1470,6 +1470,7 @@ static void ahci_remap_check(struct pci_dev *pdev, int bar,
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");
+	hpriv->flags |= AHCI_HFLAG_NO_MSI;
  }
static int ahci_get_irq_vector(struct ata_host *host, int port)


This patch works for me.
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux