Merge remote-tracking branch 'regmap/for-5.7' into regmap-linus
[linux-2.6-microblaze.git] / fs / afs / fsclient.c
index 68fc466..d2b3798 100644 (file)
@@ -385,8 +385,6 @@ static int afs_deliver_fs_fetch_data(struct afs_call *call)
                ASSERTCMP(req->offset, <=, PAGE_SIZE);
                if (req->offset == PAGE_SIZE) {
                        req->offset = 0;
-                       if (req->page_done)
-                               req->page_done(req);
                        req->index++;
                        if (req->remain > 0)
                                goto begin_page;
@@ -440,11 +438,13 @@ static int afs_deliver_fs_fetch_data(struct afs_call *call)
                if (req->offset < PAGE_SIZE)
                        zero_user_segment(req->pages[req->index],
                                          req->offset, PAGE_SIZE);
-               if (req->page_done)
-                       req->page_done(req);
                req->offset = 0;
        }
 
+       if (req->page_done)
+               for (req->index = 0; req->index < req->nr_pages; req->index++)
+                       req->page_done(req);
+
        _leave(" = 0 [done]");
        return 0;
 }