diff options
-rw-r--r-- | arch/powerpc/mm/hash_utils_64.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/arch/powerpc/mm/hash_utils_64.c b/arch/powerpc/mm/hash_utils_64.c index ead9fa84ffd9..1ed4419c533b 100644 --- a/arch/powerpc/mm/hash_utils_64.c +++ b/arch/powerpc/mm/hash_utils_64.c | |||
@@ -1268,21 +1268,22 @@ repeat: | |||
1268 | #ifdef CONFIG_DEBUG_PAGEALLOC | 1268 | #ifdef CONFIG_DEBUG_PAGEALLOC |
1269 | static void kernel_map_linear_page(unsigned long vaddr, unsigned long lmi) | 1269 | static void kernel_map_linear_page(unsigned long vaddr, unsigned long lmi) |
1270 | { | 1270 | { |
1271 | unsigned long hash, hpteg; | 1271 | unsigned long hash; |
1272 | unsigned long vsid = get_kernel_vsid(vaddr, mmu_kernel_ssize); | 1272 | unsigned long vsid = get_kernel_vsid(vaddr, mmu_kernel_ssize); |
1273 | unsigned long vpn = hpt_vpn(vaddr, vsid, mmu_kernel_ssize); | 1273 | unsigned long vpn = hpt_vpn(vaddr, vsid, mmu_kernel_ssize); |
1274 | unsigned long mode = htab_convert_pte_flags(PAGE_KERNEL); | 1274 | unsigned long mode = htab_convert_pte_flags(PAGE_KERNEL); |
1275 | int ret; | 1275 | long ret; |
1276 | 1276 | ||
1277 | hash = hpt_hash(vpn, PAGE_SHIFT, mmu_kernel_ssize); | 1277 | hash = hpt_hash(vpn, PAGE_SHIFT, mmu_kernel_ssize); |
1278 | hpteg = ((hash & htab_hash_mask) * HPTES_PER_GROUP); | ||
1279 | 1278 | ||
1280 | /* Don't create HPTE entries for bad address */ | 1279 | /* Don't create HPTE entries for bad address */ |
1281 | if (!vsid) | 1280 | if (!vsid) |
1282 | return; | 1281 | return; |
1283 | ret = ppc_md.hpte_insert(hpteg, vpn, __pa(vaddr), | 1282 | |
1284 | mode, HPTE_V_BOLTED, | 1283 | ret = hpte_insert_repeating(hash, vpn, __pa(vaddr), mode, |
1285 | mmu_linear_psize, mmu_kernel_ssize); | 1284 | HPTE_V_BOLTED, |
1285 | mmu_linear_psize, mmu_kernel_ssize); | ||
1286 | |||
1286 | BUG_ON (ret < 0); | 1287 | BUG_ON (ret < 0); |
1287 | spin_lock(&linear_map_hash_lock); | 1288 | spin_lock(&linear_map_hash_lock); |
1288 | BUG_ON(linear_map_hash_slots[lmi] & 0x80); | 1289 | BUG_ON(linear_map_hash_slots[lmi] & 0x80); |