From: Joerg Roedel Date: Tue, 11 Oct 2011 15:41:32 +0000 (+0200) Subject: iommu/amd: Fix wrong shift direction X-Git-Tag: v2.6.32.47~34 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e64b7bab4ff4db9caa98fd139126cde8edfa029e;p=thirdparty%2Fkernel%2Fstable.git iommu/amd: Fix wrong shift direction commit fcd0861db1cf4e6ed99f60a815b7b72c2ed36ea4 upstream. The shift direction was wrong because the function takes a page number and i is the address is the loop. Signed-off-by: Joerg Roedel Signed-off-by: Greg Kroah-Hartman --- diff --git a/arch/x86/kernel/amd_iommu.c b/arch/x86/kernel/amd_iommu.c index 7cd33f75a69c4..3a44b75670307 100644 --- a/arch/x86/kernel/amd_iommu.c +++ b/arch/x86/kernel/amd_iommu.c @@ -842,7 +842,7 @@ static int alloc_new_range(struct amd_iommu *iommu, if (!pte || !IOMMU_PTE_PRESENT(*pte)) continue; - dma_ops_reserve_addresses(dma_dom, i << PAGE_SHIFT, 1); + dma_ops_reserve_addresses(dma_dom, i >> PAGE_SHIFT, 1); } update_domain(&dma_dom->domain);