aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel')
-rw-r--r--arch/x86/kernel/amd_iommu_init.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/arch/x86/kernel/amd_iommu_init.c b/arch/x86/kernel/amd_iommu_init.c
index 10b2accd12ea..ec72c7779d6b 100644
--- a/arch/x86/kernel/amd_iommu_init.c
+++ b/arch/x86/kernel/amd_iommu_init.c
@@ -691,6 +691,7 @@ static void __init init_iommu_from_acpi(struct amd_iommu *iommu,
691 691
692 devid = e->devid; 692 devid = e->devid;
693 devid_to = e->ext >> 8; 693 devid_to = e->ext >> 8;
694 set_dev_entry_from_acpi(iommu, devid , e->flags, 0);
694 set_dev_entry_from_acpi(iommu, devid_to, e->flags, 0); 695 set_dev_entry_from_acpi(iommu, devid_to, e->flags, 0);
695 amd_iommu_alias_table[devid] = devid_to; 696 amd_iommu_alias_table[devid] = devid_to;
696 break; 697 break;
@@ -749,11 +750,13 @@ static void __init init_iommu_from_acpi(struct amd_iommu *iommu,
749 750
750 devid = e->devid; 751 devid = e->devid;
751 for (dev_i = devid_start; dev_i <= devid; ++dev_i) { 752 for (dev_i = devid_start; dev_i <= devid; ++dev_i) {
752 if (alias) 753 if (alias) {
753 amd_iommu_alias_table[dev_i] = devid_to; 754 amd_iommu_alias_table[dev_i] = devid_to;
754 set_dev_entry_from_acpi(iommu, 755 set_dev_entry_from_acpi(iommu,
755 amd_iommu_alias_table[dev_i], 756 devid_to, flags, ext_flags);
756 flags, ext_flags); 757 }
758 set_dev_entry_from_acpi(iommu, dev_i,
759 flags, ext_flags);
757 } 760 }
758 break; 761 break;
759 default: 762 default: