Re: use pci_alloc_irq_vectors issues

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

 



Hi Christoph,

On Mon, Oct 17, 2016 at 9:28 PM, Christoph Hellwig <hch@xxxxxx> wrote:
> I think I have an idea now - we are accidentally hitting the per-port
> MSI vector case because your SSD only has one AHCI "port".  Can you
> try the below patch:
>
> diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
> index ba5f11c..3c2f92b 100644
> --- a/drivers/ata/ahci.c
> +++ b/drivers/ata/ahci.c
> @@ -1413,6 +1413,7 @@ static int ahci_init_msi(struct pci_dev *pdev, unsigned int n_ports,
>         if (hpriv->flags & AHCI_HFLAG_NO_MSI)
>                 return -ENODEV;
>
> +       if (n_ports > 1) {
>         /*
>          * If number of MSIs is less than number of ports then Sharing Last
>          * Message mode could be enforced. In this case assume that advantage
> @@ -1434,6 +1435,7 @@ static int ahci_init_msi(struct pci_dev *pdev, unsigned int n_ports,
>                 printk(KERN_INFO "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

This patch solved the issue, thanks a lot.

Cheers.
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux