diff --git a/crypto/af_alg.c b/crypto/af_alg.c
index 1fa7bc31be63b9fb774782ebe3fbdaed0b16ff72..4665b79c729ac1d59d699907d3e5c75628231cdb 100644
--- a/crypto/af_alg.c
+++ b/crypto/af_alg.c
@@ -455,6 +455,9 @@ void af_alg_complete(struct crypto_async_request *req, int err)
 {
 	struct af_alg_completion *completion = req->data;
 
+	if (err == -EINPROGRESS)
+		return;
+
 	completion->err = err;
 	complete(&completion->completion);
 }