s390/crypto: Extend protected key conversion retry loop

CI runs show that the protected key conversion retry loop
runs into timeout if a master key change was initiated on
the addressed crypto resource shortly before the conversion
request.

This patch extends the retry logic to run in total 5 attempts
with increasing delay (200, 400, 800 and 1600 ms) in case of
a busy card.

Signed-off-by: Harald Freudenberger <freude@linux.ibm.com>
Reviewed-by: Ingo Franzki <ifranzki@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
This commit is contained in:
Harald Freudenberger
2025-05-21 10:01:18 +02:00
committed by Heiko Carstens
parent c4abe62342
commit b5185ea1a6

View File

@@ -199,8 +199,11 @@ static inline int convert_key(const u8 *key, unsigned int keylen,
pk->len = sizeof(pk->protkey);
/* try three times in case of busy card */
for (rc = -EIO, i = 0; rc && i < 3; i++) {
/*
* In case of a busy card retry with increasing delay
* of 200, 400, 800 and 1600 ms - in total 3 s.
*/
for (rc = -EIO, i = 0; rc && i < 5; i++) {
if (rc == -EBUSY && msleep_interruptible((1 << i) * 100)) {
rc = -EINTR;
goto out;