Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fc061d96 authored by Alexander Gordeev's avatar Alexander Gordeev Committed by Bjorn Helgaas
Browse files

ahci: Use pci_enable_msi_range() instead of pci_enable_msi_block()



pci_enable_msi_block() has been deprecated; use pci_enable_msi_range()
instead.

[bhelgaas: changelog]
Signed-off-by: default avatarAlexander Gordeev <agordeev@redhat.com>
Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
Acked-by: default avatarTejun Heo <tj@kernel.org>
parent bc03fd3a
Loading
Loading
Loading
Loading
+9 −11
Original line number Diff line number Diff line
@@ -1151,13 +1151,13 @@ static inline void ahci_gtf_filter_workaround(struct ata_host *host)
static int ahci_init_interrupts(struct pci_dev *pdev, unsigned int n_ports,
			 struct ahci_host_priv *hpriv)
{
	int rc, nvec;
	int nvec;

	if (hpriv->flags & AHCI_HFLAG_NO_MSI)
		goto intx;

	rc = pci_msi_vec_count(pdev);
	if (rc < 0)
	nvec = pci_msi_vec_count(pdev);
	if (nvec < 0)
		goto intx;

	/*
@@ -1165,21 +1165,19 @@ static int ahci_init_interrupts(struct pci_dev *pdev, unsigned int n_ports,
	 * Message mode could be enforced. In this case assume that advantage
	 * of multipe MSIs is negated and use single MSI mode instead.
	 */
	if (rc < n_ports)
	if (nvec < n_ports)
		goto single_msi;

	nvec = rc;
	rc = pci_enable_msi_block(pdev, nvec);
	if (rc < 0)
		goto intx;
	else if (rc > 0)
	nvec = pci_enable_msi_range(pdev, nvec, nvec);
	if (nvec == -ENOSPC)
		goto single_msi;
	else if (nvec < 0)
		goto intx;

	return nvec;

single_msi:
	rc = pci_enable_msi(pdev);
	if (rc)
	if (pci_enable_msi(pdev))
		goto intx;
	return 1;