Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8f21cf0d authored by Herbert Xu's avatar Herbert Xu
Browse files

[CRYPTO] api: Feed flag directly to crypto_yield



The sleeping flag used to determine whether crypto_yield can actually
yield is really a per-operation flag rather than a per-tfm flag.  This
patch changes crypto_yield to take a flag directly so that we can start
using a per-operation flag instead the tfm flag.

Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 6d7d684d
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -145,7 +145,7 @@ static int crypt(const struct cipher_desc *desc,
		if (!nbytes)
		if (!nbytes)
			break;
			break;


		crypto_yield(tfm);
		crypto_yield(tfm->crt_flags);
	}
	}


	if (buffer)
	if (buffer)
+1 −1
Original line number Original line Diff line number Diff line
@@ -55,7 +55,7 @@ static void update(struct crypto_tfm *tfm,
			tfm->__crt_alg->cra_digest.dia_update(tfm, p,
			tfm->__crt_alg->cra_digest.dia_update(tfm, p,
							      bytes_from_page);
							      bytes_from_page);
			crypto_kunmap(src, 0);
			crypto_kunmap(src, 0);
			crypto_yield(tfm);
			crypto_yield(tfm->crt_flags);
			offset = 0;
			offset = 0;
			pg++;
			pg++;
			l -= bytes_from_page;
			l -= bytes_from_page;
+2 −2
Original line number Original line Diff line number Diff line
@@ -67,9 +67,9 @@ static inline void crypto_kunmap(void *vaddr, int out)
	kunmap_atomic(vaddr, crypto_kmap_type(out));
	kunmap_atomic(vaddr, crypto_kmap_type(out));
}
}


static inline void crypto_yield(struct crypto_tfm *tfm)
static inline void crypto_yield(u32 flags)
{
{
	if (tfm->crt_flags & CRYPTO_TFM_REQ_MAY_SLEEP)
	if (flags & CRYPTO_TFM_REQ_MAY_SLEEP)
		cond_resched();
		cond_resched();
}
}