Browse Source

crypto: scatterwalk - Remove unnecessary advance in scatterwalk_pagedone

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>
Herbert Xu 9 years ago
parent
commit
28cf86fafd
1 changed files with 2 additions and 6 deletions
  1. 2 6
      crypto/scatterwalk.c

+ 2 - 6
crypto/scatterwalk.c

@@ -62,12 +62,8 @@ static void scatterwalk_pagedone(struct scatter_walk *walk, int out,
 			flush_dcache_page(page);
 			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)
 void scatterwalk_done(struct scatter_walk *walk, int out, int more)