diff options
Diffstat (limited to 'crypto/algapi.c')
-rw-r--r-- | crypto/algapi.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/crypto/algapi.c b/crypto/algapi.c index aa699ff6c876..60d7366ed343 100644 --- a/crypto/algapi.c +++ b/crypto/algapi.c | |||
@@ -897,9 +897,11 @@ int crypto_enqueue_request(struct crypto_queue *queue, | |||
897 | int err = -EINPROGRESS; | 897 | int err = -EINPROGRESS; |
898 | 898 | ||
899 | if (unlikely(queue->qlen >= queue->max_qlen)) { | 899 | if (unlikely(queue->qlen >= queue->max_qlen)) { |
900 | err = -EBUSY; | 900 | if (!(request->flags & CRYPTO_TFM_REQ_MAY_BACKLOG)) { |
901 | if (!(request->flags & CRYPTO_TFM_REQ_MAY_BACKLOG)) | 901 | err = -ENOSPC; |
902 | goto out; | 902 | goto out; |
903 | } | ||
904 | err = -EBUSY; | ||
903 | if (queue->backlog == &queue->list) | 905 | if (queue->backlog == &queue->list) |
904 | queue->backlog = &request->list; | 906 | queue->backlog = &request->list; |
905 | } | 907 | } |