summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-01-24 19:38:07 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2010-01-24 19:38:07 +0100
commitf6760aa024199cfbce564311dc4bc4d47b6fb349 (patch)
treee059ad7965cba0234097d6893dfe8afbfd3beb67 /kernel
parentMerge branch 'for-linus/i2c' of git://git.fluff.org/bjdooks/linux (diff)
parentclockevent: Don't remove broadcast device when cpu is dead (diff)
downloadlinux-f6760aa024199cfbce564311dc4bc4d47b6fb349.tar.xz
linux-f6760aa024199cfbce564311dc4bc4d47b6fb349.zip
Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: clockevent: Don't remove broadcast device when cpu is dead
Diffstat (limited to 'kernel')
-rw-r--r--kernel/time/clockevents.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/time/clockevents.c b/kernel/time/clockevents.c
index 6f740d9f0948..d7395fdfb9f3 100644
--- a/kernel/time/clockevents.c
+++ b/kernel/time/clockevents.c
@@ -259,7 +259,8 @@ void clockevents_notify(unsigned long reason, void *arg)
cpu = *((int *)arg);
list_for_each_entry_safe(dev, tmp, &clockevent_devices, list) {
if (cpumask_test_cpu(cpu, dev->cpumask) &&
- cpumask_weight(dev->cpumask) == 1) {
+ cpumask_weight(dev->cpumask) == 1 &&
+ !tick_is_broadcast_device(dev)) {
BUG_ON(dev->mode != CLOCK_EVT_MODE_UNUSED);
list_del(&dev->list);
}