- if (iv) {
- if (enc)
- rc = crypto_blkcipher_encrypt_iv(&desc, &dst,
- &src,
- src.length);
- else
- rc = crypto_blkcipher_decrypt_iv(&desc, &dst,
- &src,
- src.length);
- } else {
- if (enc)
- rc = crypto_blkcipher_encrypt(&desc, &dst, &src,
- src.length);
- else
- rc = crypto_blkcipher_decrypt(&desc, &dst, &src,
- src.length);
- }
+ skcipher_request_set_crypt(req, &src, &dst, src.length, iv);
+ if (!iv)
+ skcipher_request_set_crypt_iv(req);
+
+ if (enc)
+ rc = crypto_skcipher_encrypt_iv(req, &dst, &src,
+ src.length);
+ else
+ rc = crypto_skcipher_decrypt_iv(req, &dst, &src,
+ src.length);