ahci: always fall back to single-MSI mode
authorChristoph Hellwig <hch@lst.de>
Fri, 18 Nov 2016 13:09:06 +0000 (14:09 +0100)
committerTejun Heo <tj@kernel.org>
Mon, 21 Nov 2016 16:06:57 +0000 (11:06 -0500)
Don't try to guess what the errors from pci_irq_alloc_vectors mean, as
that's too fragile.  Instead always try allocating a single vector
when multi-MSI mode fails.  This makes various intel Desktop and
Laptop CPUs use MSI again.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reported-by: Michael Marley <michael@michaelmarley.com>
Tested-by: Michael Marley <michael@michaelmarley.com>
Fixes: 0b9e2988ab22 ("ahci: use pci_alloc_irq_vectors")
Signed-off-by: Tejun Heo <tj@kernel.org>
drivers/ata/ahci.c

index 9669fc7c19df7fe05b922daf25e0392677433e26..74f4c662f776ecf546d4c61a7de4190a61870b5c 100644 (file)
@@ -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;
        }
 
        /*