projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
af3b358
)
iommu/vt-d: Make sure copied over IR entries are not reused
author
Joerg Roedel
<
[email protected]
>
Fri, 12 Jun 2015 13:06:26 +0000
(15:06 +0200)
committer
Joerg Roedel
<
[email protected]
>
Tue, 16 Jun 2015 08:59:36 +0000
(10:59 +0200)
Walk over the copied entries and mark the present ones as
allocated.
Tested-by: ZhenHua Li <
[email protected]
>
Tested-by: Baoquan He <
[email protected]
>
Signed-off-by: Joerg Roedel <
[email protected]
>
drivers/iommu/intel_irq_remapping.c
patch
|
blob
|
history
diff --git
a/drivers/iommu/intel_irq_remapping.c
b/drivers/iommu/intel_irq_remapping.c
index 2a901219f953065746b92dab03abb1e5b56ed5e6..14e10de4a5481623ccb9e90a18699197c08b0bff 100644
(file)
--- a/
drivers/iommu/intel_irq_remapping.c
+++ b/
drivers/iommu/intel_irq_remapping.c
@@
-451,6
+451,7
@@
static int iommu_load_old_irte(struct intel_iommu *iommu)
{
struct irte *old_ir_table;
phys_addr_t irt_phys;
+ unsigned int i;
size_t size;
u64 irta;
@@
-481,6
+482,15
@@
static int iommu_load_old_irte(struct intel_iommu *iommu)
__iommu_flush_cache(iommu, iommu->ir_table->base, size);
+ /*
+ * Now check the table for used entries and mark those as
+ * allocated in the bitmap
+ */
+ for (i = 0; i < INTR_REMAP_TABLE_ENTRIES; i++) {
+ if (iommu->ir_table->base[i].present)
+ bitmap_set(iommu->ir_table->bitmap, i, 1);
+ }
+
return 0;
}