Currently the radix variant is only called when full=true. Allow
radix to take over the entire function.

Signed-off-by: Nicholas Piggin <npig...@gmail.com>
---
 arch/powerpc/include/asm/book3s/64/pgtable.h | 10 +++-------
 arch/powerpc/include/asm/book3s/64/radix.h   |  4 ++++
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/arch/powerpc/include/asm/book3s/64/pgtable.h 
b/arch/powerpc/include/asm/book3s/64/pgtable.h
index 058601efbc8a..410a917c0c60 100644
--- a/arch/powerpc/include/asm/book3s/64/pgtable.h
+++ b/arch/powerpc/include/asm/book3s/64/pgtable.h
@@ -483,14 +483,10 @@ static inline pte_t ptep_get_and_clear_full(struct 
mm_struct *mm,
                                            unsigned long addr,
                                            pte_t *ptep, int full)
 {
-       if (full && radix_enabled()) {
-               /*
-                * We know that this is a full mm pte clear and
-                * hence can be sure there is no parallel set_pte.
-                */
+       if (radix_enabled())
                return radix__ptep_get_and_clear_full(mm, addr, ptep, full);
-       }
-       return ptep_get_and_clear(mm, addr, ptep);
+       else
+               return ptep_get_and_clear(mm, addr, ptep);
 }
 
 
diff --git a/arch/powerpc/include/asm/book3s/64/radix.h 
b/arch/powerpc/include/asm/book3s/64/radix.h
index c7813dc628fc..2491f3befda0 100644
--- a/arch/powerpc/include/asm/book3s/64/radix.h
+++ b/arch/powerpc/include/asm/book3s/64/radix.h
@@ -185,6 +185,10 @@ static inline pte_t radix__ptep_get_and_clear_full(struct 
mm_struct *mm,
        unsigned long old_pte;
 
        if (full) {
+               /*
+                * We know that this is a full mm pte clear and
+                * hence can be sure there is no parallel set_pte.
+                */
                old_pte = pte_val(*ptep);
                *ptep = __pte(0);
        } else
-- 
2.23.0

Reply via email to