--- /dev/null
+From 915b692e6cb723aac658c25eb82c58fd81235110 Mon Sep 17 00:00:00 2001
+From: Herbert Xu <herbert@gondor.apana.org.au>
+Date: Thu, 16 Apr 2026 17:00:50 +0800
+Subject: crypto: pcrypt - Fix handling of MAY_BACKLOG requests
+
+From: Herbert Xu <herbert@gondor.apana.org.au>
+
+commit 915b692e6cb723aac658c25eb82c58fd81235110 upstream.
+
+MAY_BACKLOG requests can return EBUSY. Handle them by checking
+for that value and filtering out EINPROGRESS notifications.
+
+Reported-by: Yiming Qian <yimingqian591@gmail.com>
+Fixes: 5a1436beec57 ("crypto: pcrypt - call the complete function on error")
+Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
+Cc: Eric Biggers <ebiggers@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ crypto/pcrypt.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+--- a/crypto/pcrypt.c
++++ b/crypto/pcrypt.c
+@@ -69,6 +69,9 @@ static void pcrypt_aead_done(void *data,
+ struct pcrypt_request *preq = aead_request_ctx(req);
+ struct padata_priv *padata = pcrypt_request_padata(preq);
+
++ if (err == -EINPROGRESS)
++ return;
++
+ padata->info = err;
+
+ padata_do_serial(padata);
+@@ -82,7 +85,7 @@ static void pcrypt_aead_enc(struct padat
+
+ ret = crypto_aead_encrypt(req);
+
+- if (ret == -EINPROGRESS)
++ if (ret == -EINPROGRESS || ret == -EBUSY)
+ return;
+
+ padata->info = ret;
+@@ -133,7 +136,7 @@ static void pcrypt_aead_dec(struct padat
+
+ ret = crypto_aead_decrypt(req);
+
+- if (ret == -EINPROGRESS)
++ if (ret == -EINPROGRESS || ret == -EBUSY)
+ return;
+
+ padata->info = ret;