Commit:     3611553ef985ef7c5863c8a94641738addd04cff
Parent:     49914084e797530d9baaf51df9eda77babc98fa8
Author:     Haavard Skinnemoen <[EMAIL PROTECTED]>
AuthorDate: Thu Jul 5 17:08:09 2007 +0200
Committer:  Haavard Skinnemoen <[EMAIL PROTECTED]>
CommitDate: Fri Jan 25 08:31:39 2008 +0100

    [AVR32] Drop GFP_COMP for DMA memory allocations
    dma_alloc_coherent wants to split pages after allocation in order to
    reduce the memory footprint. This does not work well with GFP_COMP
    pages, so drop this flag before allocation.
    This patch was forward-ported from BSP 2.0
    Signed-off-by: Haavard Skinnemoen <[EMAIL PROTECTED]>
 arch/avr32/mm/dma-coherent.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/arch/avr32/mm/dma-coherent.c b/arch/avr32/mm/dma-coherent.c
index 177fea8..6d8c794 100644
--- a/arch/avr32/mm/dma-coherent.c
+++ b/arch/avr32/mm/dma-coherent.c
@@ -41,6 +41,13 @@ static struct page *__dma_alloc(struct device *dev, size_t 
        struct page *page, *free, *end;
        int order;
+       /* Following is a work-around (a.k.a. hack) to prevent pages
+        * with __GFP_COMP being passed to split_page() which cannot
+        * handle them.  The real problem is that this flag probably
+        * should be 0 on AVR32 as it is not supported on this
+        * platform--see CONFIG_HUGETLB_PAGE. */
+       gfp &= ~(__GFP_COMP);
        size = PAGE_ALIGN(size);
        order = get_order(size);
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at

Reply via email to