aboutsummaryrefslogtreecommitdiffstats
path: root/init/main.c
diff options
context:
space:
mode:
authorSteven Rostedt <rostedt@goodmis.org>2013-05-01 13:35:51 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2013-05-01 13:44:24 -0400
commitbf5d770bd234a1e66322dd79c4ae5b397cd2b9c1 (patch)
treeb92a59f7e8cc4417fb2ab853fc08c5dd21538581 /init/main.c
parenta49fe6d59aae7f7835288df508b709ed2d69cbab (diff)
init: Do not warn on non-zero initcall return
Commit f91eb62f71b3 ("init: scream bloody murder if interrupts are enabled too early") added three new warnings. The first two seemed reasonable, but the third included a warning when an initcall returned non-zero. Although, the third WARN() does include an imbalanced preempt disabled, or irqs disable, it shouldn't warn if it only had an initcall that just returns non-zero. In fact, according to Linus, it shouldn't print at all. As it only prints with initcall_debug set, and that already shows enough information to fix things. Link: http://lkml.kernel.org/r/CA+55aFzaBC5SFi7=F2mfm+KWY5qTsBmOqgbbs8E+LUS8JK-sBg@mail.gmail.com Suggested-by: Linus Torvalds <torvalds@linux-foundation.org> Reported-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'init/main.c')
-rw-r--r--init/main.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/init/main.c b/init/main.c
index bea1287aecdc..ceed17aaedfd 100644
--- a/init/main.c
+++ b/init/main.c
@@ -686,11 +686,8 @@ int __init_or_module do_one_initcall(initcall_t fn)
686 686
687 msgbuf[0] = 0; 687 msgbuf[0] = 0;
688 688
689 if (ret && ret != -ENODEV && initcall_debug)
690 sprintf(msgbuf, "error code %d ", ret);
691
692 if (preempt_count() != count) { 689 if (preempt_count() != count) {
693 strlcat(msgbuf, "preemption imbalance ", sizeof(msgbuf)); 690 sprintf(msgbuf, "preemption imbalance ");
694 preempt_count() = count; 691 preempt_count() = count;
695 } 692 }
696 if (irqs_disabled()) { 693 if (irqs_disabled()) {