diff --git a/[refs] b/[refs] index a9ad3aa67e71..1fbd83360e3b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 220a2eb228d032acde60e9fd044ca802706ff583 +refs/heads/master: 0693bc9ce2cc4f6a1b9c3c05790fc149a74c0b87 diff --git a/trunk/arch/s390/mm/gup.c b/trunk/arch/s390/mm/gup.c index 668dda964f20..da33a0281d9d 100644 --- a/trunk/arch/s390/mm/gup.c +++ b/trunk/arch/s390/mm/gup.c @@ -93,16 +93,17 @@ static inline int gup_huge_pmd(pmd_t *pmdp, pmd_t pmd, unsigned long addr, *nr -= refs; while (refs--) put_page(head); - } else { - /* - * Any tail page need their mapcount reference taken - * before we return. - */ - while (refs--) { - if (PageTail(tail)) - get_huge_page_tail(tail); - tail++; - } + return 0; + } + + /* + * Any tail page need their mapcount reference taken before we + * return. + */ + while (refs--) { + if (PageTail(tail)) + get_huge_page_tail(tail); + tail++; } return 1;