]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - arch/powerpc/mm/hugetlbpage.c
powerpc: gup_hugepte() avoid freeing the head page too many times
[karo-tx-linux.git] / arch / powerpc / mm / hugetlbpage.c
index b649c288af9004bf38308059512b301f189e5b4a..78b14abded65a9eb388109bf199b20e502c644cf 100644 (file)
@@ -428,10 +428,9 @@ static noinline int gup_hugepte(pte_t *ptep, unsigned long sz, unsigned long add
 
        if (unlikely(pte_val(pte) != pte_val(*ptep))) {
                /* Could be optimized better */
-               while (*nr) {
+               *nr -= refs;
+               while (refs--)
                        put_page(head);
-                       (*nr)--;
-               }
        }
 
        return 1;