|
@@ -3068,6 +3068,11 @@ static struct talitos_crypto_alg *talitos_alg_alloc(struct device *dev,
|
|
|
t_alg->algt.alg.aead.setkey = aead_setkey;
|
|
|
t_alg->algt.alg.aead.encrypt = aead_encrypt;
|
|
|
t_alg->algt.alg.aead.decrypt = aead_decrypt;
|
|
|
+ if (!(priv->features & TALITOS_FTR_SHA224_HWINIT) &&
|
|
|
+ !strncmp(alg->cra_name, "authenc(hmac(sha224)", 20)) {
|
|
|
+ kfree(t_alg);
|
|
|
+ return ERR_PTR(-ENOTSUPP);
|
|
|
+ }
|
|
|
break;
|
|
|
case CRYPTO_ALG_TYPE_AHASH:
|
|
|
alg = &t_alg->algt.alg.hash.halg.base;
|