[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: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
Sebastian Ott 2011-04-04 09:43:31 +02:00 committed by Martin Schwidefsky
parent 034e9e966c
commit aa5c8df398

View file

@ -1649,26 +1649,26 @@ static int __init init_QDIO(void)
{
int rc;
rc = qdio_setup_init();
rc = qdio_debug_init();
if (rc)
return rc;
rc = qdio_setup_init();
if (rc)
goto out_debug;
rc = tiqdio_allocate_memory();
if (rc)
goto out_cache;
rc = qdio_debug_init();
if (rc)
goto out_ti;
rc = tiqdio_register_thinints();
if (rc)
goto out_debug;
goto out_ti;
return 0;
out_debug:
qdio_debug_exit();
out_ti:
tiqdio_free_memory();
out_cache:
qdio_setup_exit();
out_debug:
qdio_debug_exit();
return rc;
}
@ -1676,8 +1676,8 @@ static void __exit exit_QDIO(void)
{
tiqdio_unregister_thinints();
tiqdio_free_memory();
qdio_debug_exit();
qdio_setup_exit();
qdio_debug_exit();
}
module_init(init_QDIO);