diff --git a/[refs] b/[refs] index eb06cc740973..d0df3b655fe6 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ed635cb85efbeebc974c1c477ddc971f5dcc962e +refs/heads/master: 0efd4d8a6add75d6008a95fb628d376fb7cfcbe2 diff --git a/trunk/drivers/crypto/omap-sham.c b/trunk/drivers/crypto/omap-sham.c index 7ca707536f8d..804c16bc2d61 100644 --- a/trunk/drivers/crypto/omap-sham.c +++ b/trunk/drivers/crypto/omap-sham.c @@ -650,8 +650,10 @@ static void omap_sham_finish_req(struct ahash_request *req, int err) ctx->flags |= BIT(FLAGS_ERROR); } + /* atomic operation is not needed here */ + dd->flags &= ~(BIT(FLAGS_BUSY) | BIT(FLAGS_FINAL) | BIT(FLAGS_CPU) | + BIT(FLAGS_DMA_READY) | BIT(FLAGS_OUTPUT_READY)); clk_disable(dd->iclk); - dd->flags &= ~BIT(FLAGS_BUSY); if (req->base.complete) req->base.complete(&req->base, err);