diff --git a/[refs] b/[refs] index 2483295adac9..9143b71ef87c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: fd09d7facb7cf3a884979eb5f843338ce1ce9b43 +refs/heads/master: f2ac72e8268d9559c3114d5a22679f91f80a2238 diff --git a/trunk/crypto/algboss.c b/trunk/crypto/algboss.c index 9908dd830c26..412241ce4cfa 100644 --- a/trunk/crypto/algboss.c +++ b/trunk/crypto/algboss.c @@ -68,6 +68,11 @@ static int cryptomgr_probe(void *data) goto err; do { + if (tmpl->create) { + err = tmpl->create(tmpl, param->tb); + continue; + } + inst = tmpl->alloc(param->tb); if (IS_ERR(inst)) err = PTR_ERR(inst); diff --git a/trunk/include/crypto/algapi.h b/trunk/include/crypto/algapi.h index 010545436efa..ce010a346420 100644 --- a/trunk/include/crypto/algapi.h +++ b/trunk/include/crypto/algapi.h @@ -52,6 +52,7 @@ struct crypto_template { struct crypto_instance *(*alloc)(struct rtattr **tb); void (*free)(struct crypto_instance *inst); + int (*create)(struct crypto_template *tmpl, struct rtattr **tb); char name[CRYPTO_MAX_ALG_NAME]; };