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

Commit aa5c8df3 authored by Sebastian Ott's avatar Sebastian Ott Committed by Martin Schwidefsky
Browse files

[S390] qdio: fix init sequence



Reorder the initialization sequence of the qdio module to avoid
writing to an uninitialized debug feature entry. Also reorder
the exit function to restore a consistent cleanup path.

Signed-off-by: default avatarSebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent 034e9e96
Loading
Loading
Loading
Loading
+8 −8
Original line number Original line Diff line number Diff line
@@ -1649,26 +1649,26 @@ static int __init init_QDIO(void)
{
{
	int rc;
	int rc;


	rc = qdio_setup_init();
	rc = qdio_debug_init();
	if (rc)
	if (rc)
		return rc;
		return rc;
	rc = qdio_setup_init();
	if (rc)
		goto out_debug;
	rc = tiqdio_allocate_memory();
	rc = tiqdio_allocate_memory();
	if (rc)
	if (rc)
		goto out_cache;
		goto out_cache;
	rc = qdio_debug_init();
	if (rc)
		goto out_ti;
	rc = tiqdio_register_thinints();
	rc = tiqdio_register_thinints();
	if (rc)
	if (rc)
		goto out_debug;
		goto out_ti;
	return 0;
	return 0;


out_debug:
	qdio_debug_exit();
out_ti:
out_ti:
	tiqdio_free_memory();
	tiqdio_free_memory();
out_cache:
out_cache:
	qdio_setup_exit();
	qdio_setup_exit();
out_debug:
	qdio_debug_exit();
	return rc;
	return rc;
}
}


@@ -1676,8 +1676,8 @@ static void __exit exit_QDIO(void)
{
{
	tiqdio_unregister_thinints();
	tiqdio_unregister_thinints();
	tiqdio_free_memory();
	tiqdio_free_memory();
	qdio_debug_exit();
	qdio_setup_exit();
	qdio_setup_exit();
	qdio_debug_exit();
}
}


module_init(init_QDIO);
module_init(init_QDIO);