.. | .. |
---|
286 | 286 | struct crypto_ahash *tfm = crypto_ahash_reqtfm(req); |
---|
287 | 287 | struct rk_crypto_algt *algt = rk_ahash_get_algt(tfm); |
---|
288 | 288 | struct scatterlist *src_sg; |
---|
289 | | - unsigned long flags; |
---|
290 | 289 | unsigned int nbytes; |
---|
291 | 290 | int ret = 0; |
---|
292 | 291 | |
---|
.. | .. |
---|
378 | 377 | ctx->hash_tmp_len, ctx->lastc_len, nbytes); |
---|
379 | 378 | |
---|
380 | 379 | if (nbytes) { |
---|
381 | | - spin_lock_irqsave(&rk_dev->lock, flags); |
---|
382 | 380 | if (ctx->calc_cnt == 0) |
---|
383 | 381 | alg_ctx->ops.hw_init(rk_dev, algt->algo, algt->type); |
---|
384 | 382 | |
---|
385 | 383 | /* flush all 64byte key buffer for hmac */ |
---|
386 | 384 | alg_ctx->ops.hw_write_key(ctx->rk_dev, ctx->authkey, sizeof(ctx->authkey)); |
---|
387 | 385 | ret = rk_ahash_set_data_start(rk_dev, rctx->flag); |
---|
388 | | - spin_unlock_irqrestore(&rk_dev->lock, flags); |
---|
389 | 386 | } |
---|
390 | 387 | exit: |
---|
391 | 388 | return ret; |
---|