I've always wondered why this workaround was not removed once MSI support was added. This was added before we had MSI support to workaround some Intel azalia(4) being setup by the BIOS as far as I know to use MSI and thus interrupts on system that were affected by this did not work at all for azalia(4).
If you have Intel azalia(4) could you please test this. Index: azalia.c =================================================================== RCS file: /home/cvs/src/sys/dev/pci/azalia.c,v retrieving revision 1.200 diff -u -p -r1.200 azalia.c --- azalia.c 10 May 2012 22:46:48 -0000 1.200 +++ azalia.c 2 Aug 2012 10:41:02 -0000 @@ -488,7 +488,6 @@ azalia_pci_attach(struct device *parent, azalia_t *sc; struct pci_attach_args *pa; pcireg_t v; - uint8_t reg; pci_intr_handle_t ih; const char *interrupt_str; @@ -511,13 +510,6 @@ azalia_pci_attach(struct device *parent, sc->subid = pci_conf_read(pa->pa_pc, pa->pa_tag, PCI_SUBSYS_ID_REG); azalia_configure_pci(sc); - - /* disable MSI, use INTx instead */ - if (PCI_VENDOR(sc->pciid) == PCI_VENDOR_INTEL) { - reg = azalia_pci_read(sc->pc, sc->tag, ICH_PCI_MMC); - reg &= ~(ICH_PCI_MMC_ME); - azalia_pci_write(sc->pc, sc->tag, ICH_PCI_MMC, reg); - } /* interrupt */ if (pci_intr_map_msi(pa, &ih) && pci_intr_map(pa, &ih)) { -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.