Index: linux-2.6-3.2~rc4/arch/arm/kernel/setup.c =================================================================== --- linux-2.6-3.2~rc4.orig/arch/arm/kernel/setup.c 2011-12-01 23:56:01.000000000 +0100 +++ linux-2.6-3.2~rc4/arch/arm/kernel/setup.c 2011-12-07 23:04:39.000000000 +0100 @@ -921,6 +921,12 @@ void __init setup_arch(char **cmdline_p) sanity_check_meminfo(); arm_memblock_init(&meminfo, mdesc); +#ifdef CONFIG_ZONE_DMA + if (mdesc->dma_zone_size) { + extern unsigned long arm_dma_zone_size; + arm_dma_zone_size = mdesc->dma_zone_size; + } +#endif paging_init(mdesc); request_standard_resources(mdesc); @@ -934,12 +940,6 @@ void __init setup_arch(char **cmdline_p) tcm_init(); -#ifdef CONFIG_ZONE_DMA - if (mdesc->dma_zone_size) { - extern unsigned long arm_dma_zone_size; - arm_dma_zone_size = mdesc->dma_zone_size; - } -#endif #ifdef CONFIG_MULTI_IRQ_HANDLER handle_arch_irq = mdesc->handle_irq; #endif