diff options
Diffstat (limited to 'arch/sparc/mm/fault_64.c')
| -rw-r--r-- | arch/sparc/mm/fault_64.c | 9 | 
1 files changed, 7 insertions, 2 deletions
diff --git a/arch/sparc/mm/fault_64.c b/arch/sparc/mm/fault_64.c index 097aee763af..5062ff389e8 100644 --- a/arch/sparc/mm/fault_64.c +++ b/arch/sparc/mm/fault_64.c @@ -472,8 +472,13 @@ good_area:  #if defined(CONFIG_HUGETLB_PAGE) || defined(CONFIG_TRANSPARENT_HUGEPAGE)  	mm_rss = mm->context.huge_pte_count;  	if (unlikely(mm_rss > -		     mm->context.tsb_block[MM_TSB_HUGE].tsb_rss_limit)) -		tsb_grow(mm, MM_TSB_HUGE, mm_rss); +		     mm->context.tsb_block[MM_TSB_HUGE].tsb_rss_limit)) { +		if (mm->context.tsb_block[MM_TSB_HUGE].tsb) +			tsb_grow(mm, MM_TSB_HUGE, mm_rss); +		else +			hugetlb_setup(regs); + +	}  #endif  	return;  |