crypto: sahara - use the backlog
With commit
7e77bdebff
crypto: af_alg - fix backlog handling
in place, the backlog works under all circumstances where it previously failed, atleast
for the sahara driver. Use it.
Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
016baaa118
commit
ddacc621f6
1 changed files with 5 additions and 0 deletions
|
@ -1096,15 +1096,20 @@ static int sahara_queue_manage(void *data)
|
||||||
{
|
{
|
||||||
struct sahara_dev *dev = (struct sahara_dev *)data;
|
struct sahara_dev *dev = (struct sahara_dev *)data;
|
||||||
struct crypto_async_request *async_req;
|
struct crypto_async_request *async_req;
|
||||||
|
struct crypto_async_request *backlog;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
__set_current_state(TASK_INTERRUPTIBLE);
|
__set_current_state(TASK_INTERRUPTIBLE);
|
||||||
|
|
||||||
mutex_lock(&dev->queue_mutex);
|
mutex_lock(&dev->queue_mutex);
|
||||||
|
backlog = crypto_get_backlog(&dev->queue);
|
||||||
async_req = crypto_dequeue_request(&dev->queue);
|
async_req = crypto_dequeue_request(&dev->queue);
|
||||||
mutex_unlock(&dev->queue_mutex);
|
mutex_unlock(&dev->queue_mutex);
|
||||||
|
|
||||||
|
if (backlog)
|
||||||
|
backlog->complete(backlog, -EINPROGRESS);
|
||||||
|
|
||||||
if (async_req) {
|
if (async_req) {
|
||||||
if (crypto_tfm_alg_type(async_req->tfm) ==
|
if (crypto_tfm_alg_type(async_req->tfm) ==
|
||||||
CRYPTO_ALG_TYPE_AHASH) {
|
CRYPTO_ALG_TYPE_AHASH) {
|
||||||
|
|
Loading…
Reference in a new issue