Merge branch 'x86-iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 iommu quirk fix from Thomas Gleixner:
 "A quirk for the iommu quirk to include silicon which was assumed not
  to be out in the wild.

  This time with the correct logic applied"

* 'x86-iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86: Adjust irq remapping quirk for older revisions of 5500/5520 chipsets
This commit is contained in:
Linus Torvalds 2014-04-01 10:59:08 -07:00
commit b6d739e958

View File

@ -203,18 +203,15 @@ static void __init intel_remapping_check(int num, int slot, int func)
revision = read_pci_config_byte(num, slot, func, PCI_REVISION_ID);
/*
* Revision 13 of all triggering devices id in this quirk have
* a problem draining interrupts when irq remapping is enabled,
* and should be flagged as broken. Additionally revisions 0x12
* and 0x22 of device id 0x3405 has this problem.
* Revision <= 13 of all triggering devices id in this quirk
* have a problem draining interrupts when irq remapping is
* enabled, and should be flagged as broken. Additionally
* revision 0x22 of device id 0x3405 has this problem.
*/
if (revision == 0x13)
if (revision <= 0x13)
set_irq_remapping_broken();
else if ((device == 0x3405) &&
((revision == 0x12) ||
(revision == 0x22)))
else if (device == 0x3405 && revision == 0x22)
set_irq_remapping_broken();
}
/*