diff options
author | David Woodhouse <David.Woodhouse@intel.com> | 2009-09-19 22:28:12 (GMT) |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2009-09-19 22:28:12 (GMT) |
commit | b94996c99c8befed9cbbb8804a4625e203913318 (patch) | |
tree | 867d34ad9c837d35bbbf5921fb89b53378f67b48 /drivers/pci | |
parent | 0c02a20ff7695f9c54cc7c013dda326270ccdac8 (diff) | |
download | linux-b94996c99c8befed9cbbb8804a4625e203913318.tar.xz |
intel-iommu: Disable PMRs after we enable translation, not before
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'drivers/pci')
-rw-r--r-- | drivers/pci/intel-iommu.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/pci/intel-iommu.c b/drivers/pci/intel-iommu.c index 52026d1..601c327 100644 --- a/drivers/pci/intel-iommu.c +++ b/drivers/pci/intel-iommu.c @@ -2403,11 +2403,12 @@ int __init init_dmars(void) iommu->flush.flush_context(iommu, 0, 0, 0, DMA_CCMD_GLOBAL_INVL); iommu->flush.flush_iotlb(iommu, 0, 0, 0, DMA_TLB_GLOBAL_FLUSH); - iommu_disable_protect_mem_regions(iommu); ret = iommu_enable_translation(iommu); if (ret) goto error; + + iommu_disable_protect_mem_regions(iommu); } return 0; @@ -3066,8 +3067,8 @@ static int init_iommu_hw(void) DMA_CCMD_GLOBAL_INVL); iommu->flush.flush_iotlb(iommu, 0, 0, 0, DMA_TLB_GLOBAL_FLUSH); - iommu_disable_protect_mem_regions(iommu); iommu_enable_translation(iommu); + iommu_disable_protect_mem_regions(iommu); } return 0; |