X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=crypto%2Fapi.c;h=4ccc5af6c26530c81d0da2a6fed9b7bf609c2b8c;hb=2a721dfc8c677588fc98d818dfad3354081c6ddb;hp=55af8bb0f0502eb7f80f3ed2c71fb21518319252;hpb=9cdd79c9b99873d600d397fda012fc3f57cc2776;p=linux-2.6 diff --git a/crypto/api.c b/crypto/api.c index 55af8bb0f0..4ccc5af6c2 100644 --- a/crypto/api.c +++ b/crypto/api.c @@ -48,8 +48,10 @@ EXPORT_SYMBOL_GPL(crypto_mod_get); void crypto_mod_put(struct crypto_alg *alg) { + struct module *module = alg->cra_module; + crypto_alg_put(alg); - module_put(alg->cra_module); + module_put(module); } EXPORT_SYMBOL_GPL(crypto_mod_put); @@ -142,7 +144,7 @@ static void crypto_larval_kill(struct crypto_alg *alg) down_write(&crypto_alg_sem); list_del(&alg->cra_list); up_write(&crypto_alg_sem); - complete(&larval->completion); + complete_all(&larval->completion); crypto_alg_put(alg); }