HPAGE_{MASK,SHIFT,SIZE} are only defined with CONFIG_HUGETLB_PAGE, so make sure to never use them unless that option is enabled. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> --- arch/mips/mm/tlb-r4k.c | 13 ++++++++----- 1 files changed, 8 insertions(+), 5 deletions(-) diff --git a/arch/mips/mm/tlb-r4k.c b/arch/mips/mm/tlb-r4k.c --- a/arch/mips/mm/tlb-r4k.c +++ b/arch/mips/mm/tlb-r4k.c @@ -124,9 +124,11 @@ void local_flush_tlb_range(struct vm_area_struct *vma, unsigned long start, ENTER_CRITICAL(flags); if (huge) { +#ifdef CONFIG_HUGETLB_PAGE start = round_down(start, HPAGE_SIZE); end = round_up(end, HPAGE_SIZE); size = (end - start) >> HPAGE_SHIFT; +#endif } else { start = round_down(start, PAGE_SIZE << 1); end = round_up(end, PAGE_SIZE << 1); @@ -135,15 +137,16 @@ void local_flush_tlb_range(struct vm_area_struct *vma, unsigned long start, if (size <= current_cpu_data.tlbsize/2) { int oldpid = read_c0_entryhi(); int newpid = cpu_asid(cpu, mm); + unsigned long incr = PAGE_SIZE << 1; - while (start < end) { +#ifdef CONFIG_HUGETLB_PAGE + if (huge) + incr = HPAGE_SIZE; +#endif + for (; start < end; start += incr) { int idx; write_c0_entryhi(start | newpid); - if (huge) - start += HPAGE_SIZE; - else - start += (PAGE_SIZE << 1); mtc0_tlbw_hazard(); tlb_probe(); tlb_probe_hazard();