diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-04-01 10:59:08 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-04-01 10:59:08 -0700 |
commit | b6d739e9581272f0bbbd6edd15340fb8e108df96 (patch) | |
tree | 3c1f9018bdb3732fc0fdd843d46925ad34a805b8 /arch/x86 | |
parent | 99f7b025bfadd7fac5216dcfb2a08312804674c0 (diff) | |
parent | 6f8a1b335fde143b7407036e2368d3cd6eb55674 (diff) |
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
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/kernel/early-quirks.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/arch/x86/kernel/early-quirks.c b/arch/x86/kernel/early-quirks.c index bc4a088f9023..6d7d5a1260a6 100644 --- a/arch/x86/kernel/early-quirks.c +++ b/arch/x86/kernel/early-quirks.c @@ -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(); - } /* |