summaryrefslogtreecommitdiffstats
path: root/drivers/pci/intr_remapping.c
diff options
context:
space:
mode:
authorSuresh Siddha <suresh.b.siddha@intel.com>2009-03-17 01:04:58 +0100
committerH. Peter Anvin <hpa@linux.intel.com>2009-03-17 23:42:00 +0100
commit2e93456f5c069cf889c0c3acd1246ee88c49ae5c (patch)
treeff01e304232fde9f10d2cab1b0eb00ff6cefe484 /drivers/pci/intr_remapping.c
parentx86, dmar: start with sane state while enabling dma and interrupt-remapping (diff)
downloadlinux-2e93456f5c069cf889c0c3acd1246ee88c49ae5c.tar.xz
linux-2e93456f5c069cf889c0c3acd1246ee88c49ae5c.zip
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/intr_remapping.c')
-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)
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);
}