aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/kernel/lantiq/ltq-deu/src/ifxmips_md5_hmac.c6
-rw-r--r--package/kernel/lantiq/ltq-deu/src/ifxmips_sha1_hmac.c4
2 files changed, 4 insertions, 6 deletions
diff --git a/package/kernel/lantiq/ltq-deu/src/ifxmips_md5_hmac.c b/package/kernel/lantiq/ltq-deu/src/ifxmips_md5_hmac.c
index fc3a5ea668..109d27cbfb 100644
--- a/package/kernel/lantiq/ltq-deu/src/ifxmips_md5_hmac.c
+++ b/package/kernel/lantiq/ltq-deu/src/ifxmips_md5_hmac.c
@@ -185,6 +185,7 @@ static int md5_hmac_init(struct shash_desc *desc)
mctx->dbn = 0; //dbn workaround
mctx->started = 0;
+ mctx->byte_count = 0;
return 0;
}
@@ -338,10 +339,7 @@ static int md5_hmac_final_impl(struct shash_desc *desc, u8 *out, bool hash_final
if (hash_final) {
/* reset the context after we finish with the hash */
- mctx->byte_count = 0;
- memset(&mctx->hash[0], 0, sizeof(MD5_HASH_WORDS));
- memset(&mctx->block[0], 0, sizeof(MD5_BLOCK_WORDS));
- memset(&mctx->temp[0], 0, MD5_HMAC_DBN_TEMP_SIZE);
+ md5_hmac_init(desc);
} else {
mctx->dbn = 0;
}
diff --git a/package/kernel/lantiq/ltq-deu/src/ifxmips_sha1_hmac.c b/package/kernel/lantiq/ltq-deu/src/ifxmips_sha1_hmac.c
index 9adf4d4710..69504efe93 100644
--- a/package/kernel/lantiq/ltq-deu/src/ifxmips_sha1_hmac.c
+++ b/package/kernel/lantiq/ltq-deu/src/ifxmips_sha1_hmac.c
@@ -189,6 +189,7 @@ static int sha1_hmac_init(struct shash_desc *desc)
//printk("debug ln: %d, fn: %s\n", __LINE__, __func__);
sctx->dbn = 0; //dbn workaround
sctx->started = 0;
+ sctx->count = 0;
return 0;
}
@@ -351,8 +352,7 @@ static int sha1_hmac_final_impl(struct shash_desc *desc, u8 *out, bool hash_fina
CRTCL_SECT_HASH_END;
if (hash_final) {
- memset(&sctx->buffer[0], 0, SHA1_HMAC_BLOCK_SIZE);
- sctx->count = 0;
+ sha1_hmac_init(desc);
} else {
sctx->dbn = 0;
}