.. | .. |
---|
331 | 331 | struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req); |
---|
332 | 332 | struct rk_crypto_algt *algt = rk_cipher_get_algt(tfm); |
---|
333 | 333 | struct rk_alg_ctx *alg_ctx = rk_cipher_alg_ctx(rk_dev); |
---|
334 | | - unsigned long flags; |
---|
335 | 334 | int err = 0; |
---|
336 | 335 | |
---|
337 | 336 | alg_ctx->left_bytes = req->cryptlen; |
---|
.. | .. |
---|
345 | 344 | |
---|
346 | 345 | CRYPTO_TRACE("total = %u", alg_ctx->total); |
---|
347 | 346 | |
---|
348 | | - spin_lock_irqsave(&rk_dev->lock, flags); |
---|
349 | 347 | alg_ctx->ops.hw_init(rk_dev, algt->algo, algt->mode); |
---|
350 | 348 | err = rk_set_data_start(rk_dev); |
---|
351 | | - spin_unlock_irqrestore(&rk_dev->lock, flags); |
---|
| 349 | + |
---|
352 | 350 | return err; |
---|
353 | 351 | } |
---|
354 | 352 | |
---|
.. | .. |
---|
443 | 441 | struct rk_crypto_algt *algt = rk_aead_get_algt(tfm); |
---|
444 | 442 | struct rk_alg_ctx *alg_ctx = rk_cipher_alg_ctx(rk_dev); |
---|
445 | 443 | unsigned int total = 0, authsize; |
---|
446 | | - unsigned long flags; |
---|
447 | 444 | int err = 0; |
---|
448 | 445 | |
---|
449 | 446 | total = req->cryptlen + req->assoclen; |
---|
.. | .. |
---|
464 | 461 | CRYPTO_TRACE("is_enc = %d, authsize = %u, cryptlen = %u, total = %u, assoclen = %u", |
---|
465 | 462 | ctx->is_enc, authsize, req->cryptlen, alg_ctx->total, alg_ctx->assoclen); |
---|
466 | 463 | |
---|
467 | | - spin_lock_irqsave(&rk_dev->lock, flags); |
---|
468 | 464 | alg_ctx->ops.hw_init(rk_dev, algt->algo, algt->mode); |
---|
469 | 465 | err = rk_set_data_start(rk_dev); |
---|
470 | | - spin_unlock_irqrestore(&rk_dev->lock, flags); |
---|
| 466 | + |
---|
471 | 467 | return err; |
---|
472 | 468 | } |
---|
473 | 469 | |
---|
474 | 470 | int rk_aead_gcm_setauthsize(struct crypto_aead *tfm, unsigned int authsize) |
---|
475 | 471 | { |
---|
476 | | - /* Same as crypto_gcm_authsize() from crypto/gcm.c */ |
---|
477 | | - switch (authsize) { |
---|
478 | | - case 4: |
---|
479 | | - case 8: |
---|
480 | | - case 12: |
---|
481 | | - case 13: |
---|
482 | | - case 14: |
---|
483 | | - case 15: |
---|
484 | | - case 16: |
---|
485 | | - break; |
---|
486 | | - default: |
---|
487 | | - return -EINVAL; |
---|
488 | | - } |
---|
489 | | - |
---|
490 | | - return 0; |
---|
| 472 | + return crypto_gcm_check_authsize(authsize); |
---|
491 | 473 | } |
---|
492 | 474 | |
---|
493 | 475 | int rk_aead_handle_req(struct rk_crypto_dev *rk_dev, struct aead_request *req) |
---|