crypto/nx: Create nx842_delete_coprocs function
authorHaren Myneni <haren@linux.vnet.ibm.com>
Thu, 31 Aug 2017 07:13:15 +0000 (00:13 -0700)
committerMichael Ellerman <mpe@ellerman.id.au>
Fri, 1 Sep 2017 06:42:48 +0000 (16:42 +1000)
Move deleting coprocessors info upon exit or failure to
nx842_delete_coprocs().

Signed-off-by: Haren Myneni <haren@us.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
drivers/crypto/nx/nx-842-powernv.c

index 1bd19e03eb7d01babb19c1a565195814cb12ef8e..67dc06f9b557339123775527b0194d51b43b3dda 100644 (file)
@@ -593,6 +593,16 @@ static int __init nx842_powernv_probe(struct device_node *dn)
        return 0;
 }
 
+static void nx842_delete_coprocs(void)
+{
+       struct nx842_coproc *coproc, *n;
+
+       list_for_each_entry_safe(coproc, n, &nx842_coprocs, list) {
+               list_del(&coproc->list);
+               kfree(coproc);
+       }
+}
+
 static struct nx842_constraints nx842_powernv_constraints = {
        .alignment =    DDE_BUFFER_ALIGN,
        .multiple =     DDE_BUFFER_LAST_MULT,
@@ -652,13 +662,7 @@ static __init int nx842_powernv_init(void)
 
        ret = crypto_register_alg(&nx842_powernv_alg);
        if (ret) {
-               struct nx842_coproc *coproc, *n;
-
-               list_for_each_entry_safe(coproc, n, &nx842_coprocs, list) {
-                       list_del(&coproc->list);
-                       kfree(coproc);
-               }
-
+               nx842_delete_coprocs();
                return ret;
        }
 
@@ -668,13 +672,8 @@ module_init(nx842_powernv_init);
 
 static void __exit nx842_powernv_exit(void)
 {
-       struct nx842_coproc *coproc, *n;
-
        crypto_unregister_alg(&nx842_powernv_alg);
 
-       list_for_each_entry_safe(coproc, n, &nx842_coprocs, list) {
-               list_del(&coproc->list);
-               kfree(coproc);
-       }
+       nx842_delete_coprocs();
 }
 module_exit(nx842_powernv_exit);