فهرست منبع

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
Linus Torvalds 11 سال پیش
والد
کامیت
b6d739e958
1فایلهای تغییر یافته به همراه6 افزوده شده و 9 حذف شده
  1. 6 9
      arch/x86/kernel/early-quirks.c

+ 6 - 9
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 = 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();
 		set_irq_remapping_broken();
-	else if ((device == 0x3405) &&
-	    ((revision == 0x12) ||
-	     (revision == 0x22)))
+	else if (device == 0x3405 && revision == 0x22)
 		set_irq_remapping_broken();
 		set_irq_remapping_broken();
-
 }
 }
 
 
 /*
 /*