From: Ard van Breemen The parsing of some kernel parameters seem to enable irq's at a stage that irq's are not supposed to be enabled (Particularly the ide kernel parameters). Having irq's enabled before the irq controller is initialized might lead to a kernel panic. This patch only detects this behaviour and warns about wich parameter caused it. Signed-off-by: Ard van Breemen Signed-off-by: Andrew Morton --- kernel/params.c | 5 +++++ 1 files changed, 5 insertions(+) diff -puN kernel/params.c~kernelparams-detect-if-and-which-parameter-parsing-enabled-irqs kernel/params.c --- a/kernel/params.c~kernelparams-detect-if-and-which-parameter-parsing-enabled-irqs +++ a/kernel/params.c @@ -143,9 +143,14 @@ int parse_args(const char *name, while (*args) { int ret; + int irq_was_disabled; args = next_arg(args, ¶m, &val); + irq_was_disabled=irqs_disabled(); ret = parse_one(param, val, params, num, unknown); + if(irq_was_disabled && !irqs_disabled()) { + printk(KERN_WARNING "parse_args(): option '%s' enabled irq's!\n",param); + } switch (ret) { case -ENOENT: printk(KERN_ERR "%s: Unknown parameter `%s'\n", _