git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge ../linux-2.6
[pandora-kernel.git]
/
kernel
/
softlockup.c
diff --git
a/kernel/softlockup.c
b/kernel/softlockup.c
index
ced91e1
..
03e6a2b
100644
(file)
--- a/
kernel/softlockup.c
+++ b/
kernel/softlockup.c
@@
-36,7
+36,7
@@
static struct notifier_block panic_block = {
void touch_softlockup_watchdog(void)
{
void touch_softlockup_watchdog(void)
{
-
per_cpu(touch_timestamp, raw_smp_processor_id()
) = jiffies;
+
__raw_get_cpu_var(touch_timestamp
) = jiffies;
}
EXPORT_SYMBOL(touch_softlockup_watchdog);
}
EXPORT_SYMBOL(touch_softlockup_watchdog);
@@
-104,7
+104,7
@@
static int watchdog(void * __bind_cpu)
/*
* Create/destroy watchdog threads as CPUs come and go:
*/
/*
* Create/destroy watchdog threads as CPUs come and go:
*/
-static int __
dev
init
+static int __
cpu
init
cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu)
{
int hotcpu = (unsigned long)hcpu;
cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu)
{
int hotcpu = (unsigned long)hcpu;
@@
-127,6
+127,8
@@
cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu)
break;
#ifdef CONFIG_HOTPLUG_CPU
case CPU_UP_CANCELED:
break;
#ifdef CONFIG_HOTPLUG_CPU
case CPU_UP_CANCELED:
+ if (!per_cpu(watchdog_task, hotcpu))
+ break;
/* Unbind so it can run. Fall thru. */
kthread_bind(per_cpu(watchdog_task, hotcpu),
any_online_cpu(cpu_online_map));
/* Unbind so it can run. Fall thru. */
kthread_bind(per_cpu(watchdog_task, hotcpu),
any_online_cpu(cpu_online_map));
@@
-140,7
+142,7
@@
cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu)
return NOTIFY_OK;
}
return NOTIFY_OK;
}
-static struct notifier_block __
dev
initdata cpu_nfb = {
+static struct notifier_block __
cpu
initdata cpu_nfb = {
.notifier_call = cpu_callback
};
.notifier_call = cpu_callback
};