Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1ee51b28 authored by Haren Myneni's avatar Haren Myneni Committed by Michael Ellerman
Browse files

crypto/nx: Create nx842_delete_coprocs function



Move deleting coprocessors info upon exit or failure to
nx842_delete_coprocs().

Signed-off-by: default avatarHaren Myneni <haren@us.ibm.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent 56c10d5e
Loading
Loading
Loading
Loading
+12 −13
Original line number Diff line number Diff line
@@ -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);