On Tue, Nov 17, 2015 at 12:00:46PM +0800, Zain Wang wrote:
>
> +static void rk_ablk_hw_init(struct rk_crypto_info *dev)
> +{
> +     struct crypto_ablkcipher *tfm = crypto_ablkcipher_reqtfm(dev->ablk_req);
> +     struct rk_cipher_ctx *ctx = crypto_ablkcipher_ctx(tfm);
> +     u32 conf_reg = 0;
> +
> +     if (dev->mode & TDES) {
> +             dev->mode &= ~TDES;
> +             dev->mode |= RK_CRYPTO_TDES_FIFO_MODE |
> +                          RK_CRYPTO_TDES_BYTESWAP_KEY |
> +                          RK_CRYPTO_TDES_BYTESWAP_IV;
> +             CRYPTO_WRITE(dev, RK_CRYPTO_TDES_CTRL, dev->mode);
> +
> +             memcpy(dev->reg + RK_CRYPTO_TDES_IV_0, dev->ablk_req->info, 8);

Please ensure that the IV is copied back after the operation.
I know that many existing drivers are buggy in this regard but
they will be fixed soon and we will start enforcing this rule
so I don't want to add any new drivers that break this rule.

Thanks,
-- 
Email: Herbert Xu <herb...@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to