diff options
author | Suresh Siddha <suresh.b.siddha@intel.com> | 2009-03-16 20:04:58 -0400 |
---|---|---|
committer | H. Peter Anvin <hpa@linux.intel.com> | 2009-03-17 18:42:00 -0400 |
commit | 2e93456f5c069cf889c0c3acd1246ee88c49ae5c (patch) | |
tree | ff01e304232fde9f10d2cab1b0eb00ff6cefe484 /drivers/pci/intr_remapping.c | |
parent | 1531a6a6b81a4e6f9eec9a5608758a6ea14b96e0 (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/intr_remapping.c')
-rw-r--r-- | drivers/pci/intr_remapping.c | 2 |
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 | ||