diff options
author | Bo Yan <byan@nvidia.com> | 2011-10-26 16:24:28 -0700 |
---|---|---|
committer | Ryan Wong <ryanw@nvidia.com> | 2011-11-03 20:39:19 -0700 |
commit | 186a35eb3a416957f92c80e6e5e71849fbc39a5f (patch) | |
tree | a72769797e7f114fd7aa445dd6c524881d82aa9a | |
parent | 9c60a6c5f5bc07253454a057e9b3e0046c574b45 (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.c | 2 |
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(); |