diff options
author | Steve Magnani <steve@digidescorp.com> | 2009-05-18 03:22:40 +0200 |
---|---|---|
committer | Michal Simek <monstr@monstr.eu> | 2009-05-21 15:56:07 +0200 |
commit | 5af90438023786e27178cc542f9a775594f8a126 (patch) | |
tree | 7018a6d75a726a5616f25dc4edc8e53cee513b90 /arch/microblaze/mm/init.c | |
parent | microblaze: use generic dma-mapping-broken.h (diff) | |
download | linux-5af90438023786e27178cc542f9a775594f8a126.tar.xz linux-5af90438023786e27178cc542f9a775594f8a126.zip |
microblaze: Fix paging init-zone initialization
This patch fix problem with bad zone initialization.
This bug wasn't perform because Microblaze doesn't
define CONFIG_ZONE_DMA and ZONE_NORMAL was 0 for this case
that's why free_area_init works with correct values.
Original message:
I believe that the switch from ZONE_DMA (== 0) to ZONE_NORMAL
broke the free area initialization.
Signed-off-by: Steven J. Magnani <steve@digidescorp.com>
Signed-off-by: Michal Simek <monstr@monstr.eu>
Diffstat (limited to 'arch/microblaze/mm/init.c')
-rw-r--r-- | arch/microblaze/mm/init.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/arch/microblaze/mm/init.c b/arch/microblaze/mm/init.c index 31ec053c1dd6..6ef5088a8d2a 100644 --- a/arch/microblaze/mm/init.c +++ b/arch/microblaze/mm/init.c @@ -44,16 +44,15 @@ static void __init paging_init(void) int i; unsigned long zones_size[MAX_NR_ZONES]; + /* Clean every zones */ + memset(zones_size, 0, sizeof(zones_size)); + /* * old: we can DMA to/from any address.put all page into ZONE_DMA * We use only ZONE_NORMAL */ zones_size[ZONE_NORMAL] = max_mapnr; - /* every other zones are empty */ - for (i = 1; i < MAX_NR_ZONES; i++) - zones_size[i] = 0; - free_area_init(zones_size); } |