Driver core: fix 'dynamic_debug' cmd line parameter

In testing 2.6.28-rc1, I found that passing 'dynamic_printk' on the command
line didn't activate the debug code. The problem is that dynamic_printk_setup()
(which activates the debugging) is being called before dynamic_printk_init() is
called (which initializes infrastructure). Fix this by setting setting the
state to 'DYNAMIC_ENABLED_ALL' in dynamic_printk_setup(), which will also
cause all subsequent modules to have debugging automatically started, which is
probably the behavior we want.

Signed-off-by: Jason Baron <jbaron@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Jason Baron 2008-10-27 12:05:14 -04:00 committed by Greg Kroah-Hartman
parent 555ac6482e
commit 113328306d

View File

@ -402,6 +402,8 @@ static int __init dynamic_printk_init(void)
iter->logical_modname, iter->logical_modname,
iter->flag_names, iter->hash, iter->hash2); iter->flag_names, iter->hash, iter->hash2);
} }
if (dynamic_enabled == DYNAMIC_ENABLED_ALL)
set_all(true);
return 0; return 0;
} }
module_init(dynamic_printk_init); module_init(dynamic_printk_init);
@ -411,7 +413,7 @@ static int __init dynamic_printk_setup(char *str)
{ {
if (str) if (str)
return -ENOENT; return -ENOENT;
set_all(true); dynamic_enabled = DYNAMIC_ENABLED_ALL;
return 0; return 0;
} }
/* Use early_param(), so we can get debug output as early as possible */ /* Use early_param(), so we can get debug output as early as possible */