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