Bug 187821
Summary: | MSI is no longer enabled for many/most Intel SATA controllers in 4.9 | ||
---|---|---|---|
Product: | IO/Storage | Reporter: | Michael Marley (michael) |
Component: | Serial ATA | Assignee: | Tejun Heo (tj) |
Status: | RESOLVED CODE_FIX | ||
Severity: | normal | CC: | hch, michael, tj |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 4.9.0-rc5 | Subsystem: | |
Regression: | No | Bisected commit-id: |
Description
Michael Marley
2016-11-16 05:13:42 UTC
Christoph, can you please take a look at this? Thanks! On Thu, Nov 17, 2016 at 05:06:19PM +0000, bugzilla-daemon@bugzilla.kernel.org wrote: > https://bugzilla.kernel.org/show_bug.cgi?id=187821 > > --- Comment #1 from Tejun Heo <tj@kernel.org> --- > Christoph, can you please take a look at this? Thanks! The only sensible explanation would be that the multi-vector pci_alloc_irq_vectors returns something else than -ENOSPC. Please try the patch below, which I think would make sense anyway as robustness masure: diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index 9669fc7..74f4c66 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c @@ -1436,13 +1436,6 @@ static int ahci_init_msi(struct pci_dev *pdev, unsigned int n_ports, "ahci: MRSM is on, fallback to single MSI\n"); pci_free_irq_vectors(pdev); } - - /* - * -ENOSPC indicated we don't have enough vectors. Don't bother - * trying a single vectors for any other error: - */ - if (nvec < 0 && nvec != -ENOSPC) - return nvec; } /* I applied the patch and I can confirm that it causes the AHCI driver to use MSI correctly. Thanks! This was fixed at some point before the final 4.9 release. |