powerpc/mm/hugetlb: Don't enable HugeTLB if we don't have a page table cache
[linux-2.6-block.git] / arch / powerpc / mm / hugetlbpage.c
index f55dc110f2ad61641bcdc063c5b6c75791e4e672..d34540479b1a860087711ac1f00f61d92470d642 100644 (file)
@@ -601,6 +601,7 @@ __setup("hugepagesz=", hugepage_setup_sz);
 
 static int __init hugetlbpage_init(void)
 {
+       bool configured = false;
        int psize;
 
        if (hugetlb_disabled) {
@@ -651,10 +652,15 @@ static int __init hugetlbpage_init(void)
                        pgtable_cache_add(pdshift - shift);
                else if (IS_ENABLED(CONFIG_PPC_FSL_BOOK3E) || IS_ENABLED(CONFIG_PPC_8xx))
                        pgtable_cache_add(PTE_T_ORDER);
+
+               configured = true;
        }
 
-       if (IS_ENABLED(CONFIG_HUGETLB_PAGE_SIZE_VARIABLE))
-               hugetlbpage_init_default();
+       if (configured) {
+               if (IS_ENABLED(CONFIG_HUGETLB_PAGE_SIZE_VARIABLE))
+                       hugetlbpage_init_default();
+       } else
+               pr_info("Failed to initialize. Disabling HugeTLB");
 
        return 0;
 }