summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBo Yan <byan@nvidia.com>2011-10-26 16:24:28 -0700
committerRyan Wong <ryanw@nvidia.com>2011-11-03 20:39:19 -0700
commit186a35eb3a416957f92c80e6e5e71849fbc39a5f (patch)
treea72769797e7f114fd7aa445dd6c524881d82aa9a
parent9c60a6c5f5bc07253454a057e9b3e0046c574b45 (diff)
printk: fix the lockup when flushing consoletegra-12r12-android-3.2tegra-12r12-android-2.3
console_cpu_notify can be invoked when processing CPU_DYING. When this happens, the CPU running this code can switch into idle loop and kill itself when trying to acquire semaphore. Reviewed-on: http://git-master/r/60555 (cherry picked from commit 30a39da45fda058c9195605a9cbdabfc9e500bda) Change-Id: I3df89bcaf8c2e9bfe814cd6e64489cb30d73de6d Reviewed-on: http://git-master/r/62301 Reviewed-by: Bo Yan <byan@nvidia.com> Reviewed-by: Raymond Poudrier <rapoudrier@nvidia.com> Tested-by: Raymond Poudrier <rapoudrier@nvidia.com> Reviewed-by: Ryan Wong <ryanw@nvidia.com>
-rw-r--r--kernel/printk.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/printk.c b/kernel/printk.c
index 8d41a50af0db..eab694b02833 100644
--- a/kernel/printk.c
+++ b/kernel/printk.c
@@ -1072,7 +1072,9 @@ static int __cpuinit console_cpu_notify(struct notifier_block *self,
switch (action) {
case CPU_ONLINE:
case CPU_DEAD:
+#ifndef CONFIG_ARCH_TEGRA
case CPU_DYING:
+#endif
case CPU_DOWN_FAILED:
case CPU_UP_CANCELED:
acquire_console_sem();