Commit b5185ea1 authored by Harald Freudenberger's avatar Harald Freudenberger Committed by Heiko Carstens
Browse files

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: default avatarHarald Freudenberger <freude@linux.ibm.com>
Reviewed-by: default avatarIngo Franzki <ifranzki@linux.ibm.com>
Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
parent c4abe623
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -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;