| From ltsi-dev-bounces@lists.linuxfoundation.org Mon Oct 29 00:52:30 2012 |
| From: Damian Hobson-Garcia <dhobsong@igel.co.jp> |
| Date: Mon, 29 Oct 2012 16:50:34 +0900 |
| Subject: [PATCH v2 17/58] ARM: dma-mapping: use PMD size for section unmap |
| To: greg@kroah.com, laurent.pinchart@ideasonboard.com, horms@verge.net.au |
| Cc: ltsi-dev@lists.linuxfoundation.org |
| Message-ID: <1351497075-32717-18-git-send-email-dhobsong@igel.co.jp> |
| |
| |
| From: Vitaly Andrianov <vitalya@ti.com> |
| |
| The dma_contiguous_remap() function clears existing section maps using |
| the wrong size (PGDIR_SIZE instead of PMD_SIZE). This is a bug which |
| does not affect non-LPAE systems, where PGDIR_SIZE and PMD_SIZE are the same. |
| On LPAE systems, however, this bug causes the kernel to hang at this point. |
| |
| This fix has been tested on both LPAE and non-LPAE kernel builds. |
| |
| Signed-off-by: Vitaly Andrianov <vitalya@ti.com> |
| Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> |
| (cherry picked from commit 61f6c7a47a2f84b7ba4b65240ffe9247df772b06) |
| |
| Signed-off-by: Damian Hobson-Garcia <dhobsong@igel.co.jp> |
| Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> |
| --- |
| arch/arm/mm/dma-mapping.c | 2 +- |
| 1 files changed, 1 insertions(+), 1 deletions(-) |
| |
| diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c |
| index 302f5bf..153f555 100644 |
| --- a/arch/arm/mm/dma-mapping.c |
| +++ b/arch/arm/mm/dma-mapping.c |
| @@ -295,7 +295,7 @@ void __init dma_contiguous_remap(void) |
| * Clear previous low-memory mapping |
| */ |
| for (addr = __phys_to_virt(start); addr < __phys_to_virt(end); |
| - addr += PGDIR_SIZE) |
| + addr += PMD_SIZE) |
| pmd_clear(pmd_off_k(addr)); |
| |
| iotable_init(&map, 1); |
| -- |
| 1.7.5.4 |
| |
| _______________________________________________ |
| LTSI-dev mailing list |
| LTSI-dev@lists.linuxfoundation.org |
| https://lists.linuxfoundation.org/mailman/listinfo/ltsi-dev |
| |