diff options
Diffstat (limited to 'arch/mips/mm/init.c')
-rw-r--r-- | arch/mips/mm/init.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/mips/mm/init.c b/arch/mips/mm/init.c index 1aadeb42c5a..b7ebc4fa89b 100644 --- a/arch/mips/mm/init.c +++ b/arch/mips/mm/init.c | |||
@@ -277,11 +277,11 @@ void __init fixrange_init(unsigned long start, unsigned long end, | |||
277 | k = __pmd_offset(vaddr); | 277 | k = __pmd_offset(vaddr); |
278 | pgd = pgd_base + i; | 278 | pgd = pgd_base + i; |
279 | 279 | ||
280 | for ( ; (i < PTRS_PER_PGD) && (vaddr != end); pgd++, i++) { | 280 | for ( ; (i < PTRS_PER_PGD) && (vaddr < end); pgd++, i++) { |
281 | pud = (pud_t *)pgd; | 281 | pud = (pud_t *)pgd; |
282 | for ( ; (j < PTRS_PER_PUD) && (vaddr != end); pud++, j++) { | 282 | for ( ; (j < PTRS_PER_PUD) && (vaddr < end); pud++, j++) { |
283 | pmd = (pmd_t *)pud; | 283 | pmd = (pmd_t *)pud; |
284 | for (; (k < PTRS_PER_PMD) && (vaddr != end); pmd++, k++) { | 284 | for (; (k < PTRS_PER_PMD) && (vaddr < end); pmd++, k++) { |
285 | if (pmd_none(*pmd)) { | 285 | if (pmd_none(*pmd)) { |
286 | pte = (pte_t *) alloc_bootmem_low_pages(PAGE_SIZE); | 286 | pte = (pte_t *) alloc_bootmem_low_pages(PAGE_SIZE); |
287 | set_pmd(pmd, __pmd((unsigned long)pte)); | 287 | set_pmd(pmd, __pmd((unsigned long)pte)); |
@@ -368,7 +368,7 @@ void __init mem_init(void) | |||
368 | #ifdef CONFIG_DISCONTIGMEM | 368 | #ifdef CONFIG_DISCONTIGMEM |
369 | #error "CONFIG_HIGHMEM and CONFIG_DISCONTIGMEM dont work together yet" | 369 | #error "CONFIG_HIGHMEM and CONFIG_DISCONTIGMEM dont work together yet" |
370 | #endif | 370 | #endif |
371 | max_mapnr = highend_pfn; | 371 | max_mapnr = highend_pfn ? highend_pfn : max_low_pfn; |
372 | #else | 372 | #else |
373 | max_mapnr = max_low_pfn; | 373 | max_mapnr = max_low_pfn; |
374 | #endif | 374 | #endif |