summaryrefslogtreecommitdiffstats
path: root/drivers/pci
diff options
context:
space:
mode:
authorSuresh Siddha <suresh.b.siddha@intel.com>2009-03-16 17:04:58 -0700
committerH. Peter Anvin <hpa@linux.intel.com>2009-03-17 15:42:00 -0700
commit2e93456f5c069cf889c0c3acd1246ee88c49ae5c (patch)
treeff01e304232fde9f10d2cab1b0eb00ff6cefe484 /drivers/pci
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/pci')
-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 a84686b2478..f7ecd85e210 100644
--- a/drivers/pci/intr_remapping.c
+++ b/drivers/pci/intr_remapping.c
@@ -386,7 +386,7 @@ int free_irte(int irq)
if (!irq_iommu->sub_handle) {
for (i = 0; i < (1 << irq_iommu->irte_mask); i++)
- set_64bit((unsigned long *)irte, 0);
+ set_64bit((unsigned long *)(irte + i), 0);
rc = qi_flush_iec(iommu, index, irq_iommu->irte_mask);
}