drivers: power: report battery voltage in AOSP compatible format
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / crypto / algboss.c
index 769219b293098d43bd8406e296ff8b388869e8c1..76fc0b23fc6cfd4c33188cd6e5b7454603b7a751 100644 (file)
@@ -45,10 +45,9 @@ struct cryptomgr_param {
                } nu32;
        } attrs[CRYPTO_MAX_ATTRS];
 
-       char larval[CRYPTO_MAX_ALG_NAME];
        char template[CRYPTO_MAX_ALG_NAME];
 
-       struct completion *completion;
+       struct crypto_larval *larval;
 
        u32 otype;
        u32 omask;
@@ -87,7 +86,8 @@ static int cryptomgr_probe(void *data)
        crypto_tmpl_put(tmpl);
 
 out:
-       complete_all(param->completion);
+       complete_all(&param->larval->completion);
+       crypto_alg_put(&param->larval->alg);
        kfree(param);
        module_put_and_exit(0);
 }
@@ -187,18 +187,19 @@ static int cryptomgr_schedule_probe(struct crypto_larval *larval)
        param->otype = larval->alg.cra_flags;
        param->omask = larval->mask;
 
-       memcpy(param->larval, larval->alg.cra_name, CRYPTO_MAX_ALG_NAME);
-
-       param->completion = &larval->completion;
+       crypto_alg_get(&larval->alg);
+       param->larval = larval;
 
        thread = kthread_run(cryptomgr_probe, param, "cryptomgr_probe");
        if (IS_ERR(thread))
-               goto err_free_param;
+               goto err_put_larval;
 
        wait_for_completion_interruptible(&larval->completion);
 
        return NOTIFY_STOP;
 
+err_put_larval:
+       crypto_alg_put(&larval->alg);
 err_free_param:
        kfree(param);
 err_put_module: