diff options
author | Nicholas Piggin <npiggin@gmail.com> | 2017-01-04 01:55:17 +1000 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2017-01-18 11:58:30 +1100 |
commit | bf5ca68dd2eef59a936969e802d811bdac4709c2 (patch) | |
tree | 4db392d212aab7a1190f304621fc81ee3639df77 /arch/powerpc/mm/hugetlbpage.c | |
parent | 9728a7c8ab2f7a1c8d5c95278d2e4f4ac1285385 (diff) | |
download | lwn-bf5ca68dd2eef59a936969e802d811bdac4709c2.tar.gz lwn-bf5ca68dd2eef59a936969e802d811bdac4709c2.zip |
powerpc: Fix pgtable pmd cache init
Commit 9b081e10805cd ("powerpc: port 64 bits pgtable_cache to 32 bits")
mixed up PMD_INDEX_SIZE and PMD_CACHE_INDEX a couple of times. This
resulted in 64s/hash/4k configs to panic at boot with a false positive
error check.
Fix that and simplify error handling by moving the check to the caller.
Fixes: 9b081e10805cd ("powerpc: port 64 bits pgtable_cache to 32 bits")
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/mm/hugetlbpage.c')
-rw-r--r-- | arch/powerpc/mm/hugetlbpage.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/arch/powerpc/mm/hugetlbpage.c b/arch/powerpc/mm/hugetlbpage.c index 289df38fb7e0..f21f6b907d99 100644 --- a/arch/powerpc/mm/hugetlbpage.c +++ b/arch/powerpc/mm/hugetlbpage.c @@ -810,12 +810,8 @@ static int __init hugetlbpage_init(void) * if we have pdshift and shift value same, we don't * use pgt cache for hugepd. */ - if (pdshift > shift) { + if (pdshift > shift) pgtable_cache_add(pdshift - shift, NULL); - if (!PGT_CACHE(pdshift - shift)) - panic("hugetlbpage_init(): could not create " - "pgtable cache for %d bit pagesize\n", shift); - } #if defined(CONFIG_PPC_FSL_BOOK3E) || defined(CONFIG_PPC_8xx) else if (!hugepte_cache) { /* |