crypto: stm32/hash - Fix hmac issue more than 256 bytes

Correct condition for the second hmac loop. Key must be only
set in the first loop. Initial condition was wrong,
HMAC_KEY flag was not properly checked.

Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
Lionel Debieve
2019-06-28 13:26:54 +02:00
committed by Herbert Xu
parent fdbd643a74
commit 0acabecebc

View File

@ -363,7 +363,7 @@ static int stm32_hash_xmit_cpu(struct stm32_hash_dev *hdev,
return -ETIMEDOUT; return -ETIMEDOUT;
if ((hdev->flags & HASH_FLAGS_HMAC) && if ((hdev->flags & HASH_FLAGS_HMAC) &&
(hdev->flags & ~HASH_FLAGS_HMAC_KEY)) { (!(hdev->flags & HASH_FLAGS_HMAC_KEY))) {
hdev->flags |= HASH_FLAGS_HMAC_KEY; hdev->flags |= HASH_FLAGS_HMAC_KEY;
stm32_hash_write_key(hdev); stm32_hash_write_key(hdev);
if (stm32_hash_wait_busy(hdev)) if (stm32_hash_wait_busy(hdev))