aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorSuresh Siddha <suresh.b.siddha@intel.com>2009-03-16 20:04:58 -0400
committerH. Peter Anvin <hpa@linux.intel.com>2009-03-17 18:42:00 -0400
commit2e93456f5c069cf889c0c3acd1246ee88c49ae5c (patch)
treeff01e304232fde9f10d2cab1b0eb00ff6cefe484 /drivers
parent1531a6a6b81a4e6f9eec9a5608758a6ea14b96e0 (diff)
x86, intr-remapping: fix free_irte() to clear all the IRTE entries
Impact: fix interrupt table entry leak Fix the typo which was not clearing all the interrupt remapping table entries corresponding to an irq. Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/pci/intr_remapping.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/pci/intr_remapping.c b/drivers/pci/intr_remapping.c
index a84686b2478b..f7ecd85e2104 100644
--- a/drivers/pci/intr_remapping.c
+++ b/drivers/pci/intr_remapping.c
@@ -386,7 +386,7 @@ int free_irte(int irq)
386 386
387 if (!irq_iommu->sub_handle) { 387 if (!irq_iommu->sub_handle) {
388 for (i = 0; i < (1 << irq_iommu->irte_mask); i++) 388 for (i = 0; i < (1 << irq_iommu->irte_mask); i++)
389 set_64bit((unsigned long *)irte, 0); 389 set_64bit((unsigned long *)(irte + i), 0);
390 rc = qi_flush_iec(iommu, index, irq_iommu->irte_mask); 390 rc = qi_flush_iec(iommu, index, irq_iommu->irte_mask);
391 } 391 }
392 392