diff options
-rw-r--r-- | arch/powerpc/mm/hash_native_64.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/powerpc/mm/hash_native_64.c b/arch/powerpc/mm/hash_native_64.c index 4a20d890e2f4..bb76814c4a5b 100644 --- a/arch/powerpc/mm/hash_native_64.c +++ b/arch/powerpc/mm/hash_native_64.c | |||
@@ -233,15 +233,14 @@ static long native_hpte_updatepp(unsigned long slot, unsigned long newpp, | |||
233 | /* Even if we miss, we need to invalidate the TLB */ | 233 | /* Even if we miss, we need to invalidate the TLB */ |
234 | if (!HPTE_V_COMPARE(hpte_v, want_v) || !(hpte_v & HPTE_V_VALID)) { | 234 | if (!HPTE_V_COMPARE(hpte_v, want_v) || !(hpte_v & HPTE_V_VALID)) { |
235 | DBG_LOW(" -> miss\n"); | 235 | DBG_LOW(" -> miss\n"); |
236 | native_unlock_hpte(hptep); | ||
237 | ret = -1; | 236 | ret = -1; |
238 | } else { | 237 | } else { |
239 | DBG_LOW(" -> hit\n"); | 238 | DBG_LOW(" -> hit\n"); |
240 | /* Update the HPTE */ | 239 | /* Update the HPTE */ |
241 | hptep->r = (hptep->r & ~(HPTE_R_PP | HPTE_R_N)) | | 240 | hptep->r = (hptep->r & ~(HPTE_R_PP | HPTE_R_N)) | |
242 | (newpp & (HPTE_R_PP | HPTE_R_N | HPTE_R_C)); | 241 | (newpp & (HPTE_R_PP | HPTE_R_N | HPTE_R_C)); |
243 | native_unlock_hpte(hptep); | ||
244 | } | 242 | } |
243 | native_unlock_hpte(hptep); | ||
245 | 244 | ||
246 | /* Ensure it is out of the tlb too. */ | 245 | /* Ensure it is out of the tlb too. */ |
247 | tlbie(va, psize, local); | 246 | tlbie(va, psize, local); |