mirror of
https://github.com/torvalds/linux.git
synced 2024-11-28 07:01:32 +00:00
crypto: omap-des - add IV output handling
Currently omap-des driver does not copy end result IV out at all. This is evident with the additional checks done at the crypto test manager. Fix by copying out the IV values from HW. Signed-off-by: Tero Kristo <t-kristo@ti.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
e7508ef2a6
commit
eb5818aa08
@ -597,6 +597,7 @@ static int omap_des_crypt_req(struct crypto_engine *engine,
|
||||
static void omap_des_done_task(unsigned long data)
|
||||
{
|
||||
struct omap_des_dev *dd = (struct omap_des_dev *)data;
|
||||
int i;
|
||||
|
||||
pr_debug("enter done_task\n");
|
||||
|
||||
@ -615,6 +616,11 @@ static void omap_des_done_task(unsigned long data)
|
||||
omap_crypto_cleanup(&dd->out_sgl, dd->orig_out, 0, dd->total_save,
|
||||
FLAGS_OUT_DATA_ST_SHIFT, dd->flags);
|
||||
|
||||
if ((dd->flags & FLAGS_CBC) && dd->req->iv)
|
||||
for (i = 0; i < 2; i++)
|
||||
((u32 *)dd->req->iv)[i] =
|
||||
omap_des_read(dd, DES_REG_IV(dd, i));
|
||||
|
||||
omap_des_finish_req(dd, 0);
|
||||
|
||||
pr_debug("exit\n");
|
||||
|
Loading…
Reference in New Issue
Block a user