struct sec_cipher_ctx *c_ctx = &ctx->c_ctx;
 
        c_ctx->fallback = false;
+
+       /* Currently, only XTS mode need fallback tfm when using 192bit key */
        if (likely(strncmp(alg, "xts", SEC_XTS_NAME_SZ)))
                return 0;
 
        c_ctx->fbtfm = crypto_alloc_sync_skcipher(alg, 0,
                                                  CRYPTO_ALG_NEED_FALLBACK);
        if (IS_ERR(c_ctx->fbtfm)) {
-               pr_err("failed to alloc fallback tfm!\n");
+               pr_err("failed to alloc xts mode fallback tfm!\n");
                return PTR_ERR(c_ctx->fbtfm);
        }
 
        }
 
        memcpy(c_ctx->c_key, key, keylen);
-       if (c_ctx->fallback) {
+       if (c_ctx->fallback && c_ctx->fbtfm) {
                ret = crypto_sync_skcipher_setkey(c_ctx->fbtfm, key, keylen);
                if (ret) {
                        dev_err(dev, "failed to set fallback skcipher key!\n");
                                    struct skcipher_request *sreq, bool encrypt)
 {
        struct sec_cipher_ctx *c_ctx = &ctx->c_ctx;
+       SYNC_SKCIPHER_REQUEST_ON_STACK(subreq, c_ctx->fbtfm);
        struct device *dev = ctx->dev;
        int ret;
 
-       SYNC_SKCIPHER_REQUEST_ON_STACK(subreq, c_ctx->fbtfm);
-
        if (!c_ctx->fbtfm) {
-               dev_err(dev, "failed to check fallback tfm\n");
+               dev_err_ratelimited(dev, "the soft tfm isn't supported in the current system.\n");
                return -EINVAL;
        }
 
        if (ctx->sec->qm.ver == QM_HW_V2) {
                if (unlikely(!req->cryptlen || (!sreq->c_req.encrypt &&
                    req->cryptlen <= authsize))) {
-                       dev_err(dev, "Kunpeng920 not support 0 length!\n");
                        ctx->a_ctx.fallback = true;
                        return -EINVAL;
                }