crypto: omap-sham - clear device flags when finishing request
authorDmitry Kasatkin <dmitry.kasatkin@nokia.com>
Thu, 2 Jun 2011 18:10:12 +0000 (21:10 +0300)
committerHerbert Xu <herbert@gondor.apana.org.au>
Wed, 29 Jun 2011 23:44:04 +0000 (07:44 +0800)
Signed-off-by: Dmitry Kasatkin <dmitry.kasatkin@nokia.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/omap-sham.c

index 7ca7075..804c16b 100644 (file)
@@ -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);