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

Commit af442399 authored by Jim Cromie's avatar Jim Cromie Committed by Greg Kroah-Hartman
Browse files

dynamic_debug: simplify dynamic_debug_init error exit



We dont want errors while parsing ddebug_query to unload ddebug
tables, so set success after tables are loaded, and return 0 after
query parsing is done.

Simplify error handling code since its no longer used for success,
and change goto label to out_err to clarify this.

Signed-off-by: default avatarJim Cromie <jim.cromie@gmail.com>
Acked-by: default avatarJason Baron <jbaron@redhat.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 6ab676e9
Loading
Loading
Loading
Loading
+8 −11
Original line number Diff line number Diff line
@@ -984,7 +984,7 @@ static int __init dynamic_debug_init(void)
		if (strcmp(modname, iter->modname)) {
			ret = ddebug_add_module(iter_start, n, modname);
			if (ret)
				goto out_free;
				goto out_err;
			n = 0;
			modname = iter->modname;
			iter_start = iter;
@@ -993,9 +993,11 @@ static int __init dynamic_debug_init(void)
	}
	ret = ddebug_add_module(iter_start, n, modname);
	if (ret)
		goto out_free;
		goto out_err;

	/* ddebug_query boot param got passed -> set it up */
	ddebug_init_success = 1;

	/* apply ddebug_query boot param, dont unload tables on err */
	if (ddebug_setup_string[0] != '\0') {
		pr_warn("ddebug_query param name is deprecated,"
			" change it to dyndbg\n");
@@ -1005,9 +1007,6 @@ static int __init dynamic_debug_init(void)
				ddebug_setup_string);
		else
			pr_info("%d changes by ddebug_query\n", ret);

		/* keep tables even on ddebug_query parse error */
		ret = 0;
	}
	/* now that ddebug tables are loaded, process all boot args
	 * again to find and activate queries given in dyndbg params.
@@ -1021,12 +1020,10 @@ static int __init dynamic_debug_init(void)
	parse_args("dyndbg params", cmdline, NULL,
		   0, 0, 0, &ddebug_dyndbg_boot_param_cb);
	kfree(cmdline);
	return 0;

out_free:
	if (ret)
out_err:
	ddebug_remove_all_tables();
	else
		ddebug_init_success = 1;
	return 0;
}
/* Allow early initialization for boot messages via boot param */