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

Commit 1769b46a authored by Jeff Garzik's avatar Jeff Garzik
Browse files

PCI MSI: always toggle legacy-INTx-enable bit upon MSI entry/exit



The current code (prior to this change) would disable the PCI INTx
legacy interrupt when enabling MSI... but only on PCI Express.  We
should do this for all MSI devices, for safety's sake.

Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent ff51a987
Loading
Loading
Loading
Loading
+4 −8
Original line number Diff line number Diff line
@@ -255,11 +255,9 @@ static void enable_msi_mode(struct pci_dev *dev, int pos, int type)
		pci_write_config_word(dev, msi_control_reg(pos), control);
		dev->msix_enabled = 1;
	}
    	if (pci_find_capability(dev, PCI_CAP_ID_EXP)) {
		/* PCI Express Endpoint device detected */

	pci_intx(dev, 0);  /* disable intx */
}
}

void disable_msi_mode(struct pci_dev *dev, int pos, int type)
{
@@ -276,11 +274,9 @@ void disable_msi_mode(struct pci_dev *dev, int pos, int type)
		pci_write_config_word(dev, msi_control_reg(pos), control);
		dev->msix_enabled = 0;
	}
    	if (pci_find_capability(dev, PCI_CAP_ID_EXP)) {
		/* PCI Express Endpoint device detected */

	pci_intx(dev, 1);  /* enable intx */
}
}

static int msi_lookup_irq(struct pci_dev *dev, int type)
{