]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
crypto: inside-secure - EBUSY is not an error on async request
authorOfer Heifetz <oferh@marvell.com>
Thu, 14 Dec 2017 14:26:48 +0000 (15:26 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 22 Dec 2017 09:03:30 +0000 (20:03 +1100)
When initializing the IVs crypto_ahash_update() is called, which at some
point will call crypto_enqueue_request(). This function can return
-EBUSY when no resource is available and the request is queued. Since
this is a valid case, -EBUSY shouldn't be treated as an error.

Signed-off-by: Ofer Heifetz <oferh@marvell.com>
[Antoine: commit message]
Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/inside-secure/safexcel_hash.c

index d156637d6144e1bd1459ca806a79ee00c8d843e5..4a4d95302a93cf0c23d5114bcf911ce41937dbd5 100644 (file)
@@ -862,7 +862,7 @@ static int safexcel_hmac_init_iv(struct ahash_request *areq,
        req->last_req = true;
 
        ret = crypto_ahash_update(areq);
-       if (ret && ret != -EINPROGRESS)
+       if (ret && ret != -EINPROGRESS && ret != -EBUSY)
                return ret;
 
        wait_for_completion_interruptible(&result.completion);