| From 84a2c43d37cf5cf616c20ef6d84dbbaef6dbf1f3 Mon Sep 17 00:00:00 2001 |
| From: Joerg Roedel <joerg.roedel@amd.com> |
| Date: Tue, 11 Oct 2011 17:41:32 +0200 |
| Subject: [PATCH] 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 <joerg.roedel@amd.com> |
| [PG: drivers/iommu/ was arch/x86/kernel/ in 2.6.34 context] |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/arch/x86/kernel/amd_iommu.c b/arch/x86/kernel/amd_iommu.c |
| index 1aae617..74ce61d 100644 |
| --- a/arch/x86/kernel/amd_iommu.c |
| +++ b/arch/x86/kernel/amd_iommu.c |
| @@ -1046,7 +1046,7 @@ static int alloc_new_range(struct dma_ops_domain *dma_dom, |
| 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); |
| -- |
| 1.7.12.rc1.1.gbce1580 |
| |