crypto: scatterwalk - Remove unnecessary advance in scatterwalk_pagedone
authorHerbert Xu <herbert@gondor.apana.org.au>
Tue, 12 Jul 2016 05:17:58 +0000 (13:17 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Mon, 18 Jul 2016 09:35:50 +0000 (17:35 +0800)
The offset advance in scatterwalk_pagedone not only is unnecessary,
but it was also buggy when it was needed by scatterwalk_copychunks.
As the latter has long ago been fixed to call scatterwalk_advance
directly, we can remove this unnecessary offset adjustment.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
crypto/scatterwalk.c

index 52aae29747942f56586653e170efee87dfcdf7f8..2ec5368ed649640963cbd7f8d644d5eb88dcb9bd 100644 (file)
@@ -62,12 +62,8 @@ static void scatterwalk_pagedone(struct scatter_walk *walk, int out,
                        flush_dcache_page(page);
        }
 
-       if (more) {
-               walk->offset += PAGE_SIZE - 1;
-               walk->offset &= PAGE_MASK;
-               if (walk->offset >= walk->sg->offset + walk->sg->length)
-                       scatterwalk_start(walk, sg_next(walk->sg));
-       }
+       if (more && walk->offset >= walk->sg->offset + walk->sg->length)
+               scatterwalk_start(walk, sg_next(walk->sg));
 }
 
 void scatterwalk_done(struct scatter_walk *walk, int out, int more)