| From joerg.roedel@amd.com Mon Jan 12 16:39:41 2009 |
| From: Joerg Roedel <joerg.roedel@amd.com> |
| Date: Fri, 19 Dec 2008 14:42:15 +0100 |
| Subject: AMD IOMMU: fix wrong loop counter in free_pagetables |
| To: stable@kernel.org |
| Cc: Joerg Roedel <joerg.roedel@amd.com> |
| Message-ID: <1229694135-27157-5-git-send-email-joerg.roedel@amd.com> |
| |
| From: Joerg Roedel <joerg.roedel@amd.com> |
| |
| Upstream commit 3cc3d84bffbd93bdb671ac7961b12cd98fbb9266 |
| |
| This fixes a bug which causes the driver to go in an endless loop if |
| initialization fails and its resources are freed. |
| |
| Signed-off-by: Joerg Roedel <joerg.roedel@amd.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| arch/x86/kernel/amd_iommu.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/arch/x86/kernel/amd_iommu.c |
| +++ b/arch/x86/kernel/amd_iommu.c |
| @@ -487,7 +487,7 @@ static void dma_ops_free_pagetable(struc |
| continue; |
| |
| p2 = IOMMU_PTE_PAGE(p1[i]); |
| - for (j = 0; j < 512; ++i) { |
| + for (j = 0; j < 512; ++j) { |
| if (!IOMMU_PTE_PRESENT(p2[j])) |
| continue; |
| p3 = IOMMU_PTE_PAGE(p2[j]); |