浏览代码

[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: Herbert Xu <herbert@gondor.apana.org.au>
Herbert Xu 19 年之前
父节点
当前提交
8f21cf0d2b
共有 3 个文件被更改,包括 4 次插入4 次删除
  1. 1 1
      crypto/cipher.c
  2. 1 1
      crypto/digest.c
  3. 2 2
      crypto/internal.h

+ 1 - 1
crypto/cipher.c

@@ -145,7 +145,7 @@ static int crypt(const struct cipher_desc *desc,
 		if (!nbytes)
 			break;
 
-		crypto_yield(tfm);
+		crypto_yield(tfm->crt_flags);
 	}
 
 	if (buffer)

+ 1 - 1
crypto/digest.c

@@ -55,7 +55,7 @@ static void update(struct crypto_tfm *tfm,
 			tfm->__crt_alg->cra_digest.dia_update(tfm, p,
 							      bytes_from_page);
 			crypto_kunmap(src, 0);
-			crypto_yield(tfm);
+			crypto_yield(tfm->crt_flags);
 			offset = 0;
 			pg++;
 			l -= bytes_from_page;

+ 2 - 2
crypto/internal.h

@@ -67,9 +67,9 @@ static inline void crypto_kunmap(void *vaddr, int 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();
 }