crypto: omap-sham - crypto_ahash_final() now not need to be called.
authorDmitry Kasatkin <dmitry.kasatkin@nokia.com>
Fri, 19 Nov 2010 14:04:26 +0000 (16:04 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Sat, 27 Nov 2010 08:37:18 +0000 (16:37 +0800)
commit798eed5d9204b01862985ba0643ce5cf84114072
tree98f3bc95e53863ab850510ebb8a1ebff4ef22686
parenta5d87237bb15eed8449e5a30c0bbe626e0e7f43d
crypto: omap-sham - crypto_ahash_final() now not need to be called.

According to the Herbert Xu, client may not always call
crypto_ahash_final().

In the case of error in hash calculation resources will be
automatically cleaned up.

But if no hash calculation error happens and client will not call
crypto_ahash_final() at all, then internal buffer will not be freed,
and clocks will not be disabled.

This patch provides support for atomic crypto_ahash_update() call.
Clocks are now enabled and disabled per update request.

Data buffer is now allocated as a part of request context.
Client is obligated to free it with crypto_free_ahash().

Signed-off-by: Dmitry Kasatkin <dmitry.kasatkin@nokia.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/omap-sham.c