diff --git a/crypto/algapi.c b/crypto/algapi.c index d1f76b415643..60b98d2c400e 100644 --- a/crypto/algapi.c +++ b/crypto/algapi.c @@ -17,7 +17,6 @@ #include #include #include -#include #include "internal.h" @@ -75,26 +74,15 @@ static void crypto_free_instance(struct crypto_instance *inst) inst->alg.cra_type->free(inst); } -static void crypto_destroy_instance_workfn(struct work_struct *w) +static void crypto_destroy_instance(struct crypto_alg *alg) { - struct crypto_instance *inst = container_of(w, struct crypto_instance, - free_work); + struct crypto_instance *inst = (void *)alg; struct crypto_template *tmpl = inst->tmpl; crypto_free_instance(inst); crypto_tmpl_put(tmpl); } -static void crypto_destroy_instance(struct crypto_alg *alg) -{ - struct crypto_instance *inst = container_of(alg, - struct crypto_instance, - alg); - - INIT_WORK(&inst->free_work, crypto_destroy_instance_workfn); - schedule_work(&inst->free_work); -} - /* * This function adds a spawn to the list secondary_spawns which * will be used at the end of crypto_remove_spawns to unregister diff --git a/include/crypto/algapi.h b/include/crypto/algapi.h index 939a3196bf00..224b86064708 100644 --- a/include/crypto/algapi.h +++ b/include/crypto/algapi.h @@ -12,7 +12,6 @@ #include #include #include -#include #include @@ -61,8 +60,6 @@ struct crypto_instance { struct crypto_spawn *spawns; }; - struct work_struct free_work; - void *__ctx[] CRYPTO_MINALIGN_ATTR; };