diff options
| -rw-r--r-- | drivers/crypto/omap-sham.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/crypto/omap-sham.c b/drivers/crypto/omap-sham.c index 4e2067df300d..710d86386965 100644 --- a/drivers/crypto/omap-sham.c +++ b/drivers/crypto/omap-sham.c | |||
| @@ -636,11 +636,17 @@ static size_t omap_sham_append_buffer(struct omap_sham_reqctx *ctx, | |||
| 636 | static size_t omap_sham_append_sg(struct omap_sham_reqctx *ctx) | 636 | static size_t omap_sham_append_sg(struct omap_sham_reqctx *ctx) |
| 637 | { | 637 | { |
| 638 | size_t count; | 638 | size_t count; |
| 639 | const u8 *vaddr; | ||
| 639 | 640 | ||
| 640 | while (ctx->sg) { | 641 | while (ctx->sg) { |
| 642 | vaddr = kmap_atomic(sg_page(ctx->sg)); | ||
| 643 | |||
| 641 | count = omap_sham_append_buffer(ctx, | 644 | count = omap_sham_append_buffer(ctx, |
| 642 | sg_virt(ctx->sg) + ctx->offset, | 645 | vaddr + ctx->offset, |
| 643 | ctx->sg->length - ctx->offset); | 646 | ctx->sg->length - ctx->offset); |
| 647 | |||
| 648 | kunmap_atomic((void *)vaddr); | ||
| 649 | |||
| 644 | if (!count) | 650 | if (!count) |
| 645 | break; | 651 | break; |
| 646 | ctx->offset += count; | 652 | ctx->offset += count; |
