summaryrefslogtreecommitdiffstats
path: root/kernel/time
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2011-12-02 12:34:16 +0100
committerThomas Gleixner <tglx@linutronix.de>2011-12-02 16:06:54 +0100
commitc1be84309c58b1e7c6d626e28fba41a22b364c3d (patch)
tree4d4db4e9ef8ceb5b762d4c2334e68b73858a1b07 /kernel/time
parentclocksource: Fix bug with max_deferment margin calculation (diff)
downloadlinux-c1be84309c58b1e7c6d626e28fba41a22b364c3d.tar.xz
linux-c1be84309c58b1e7c6d626e28fba41a22b364c3d.zip
tick-broadcast: Stop active broadcast device when replacing it
When a better rated broadcast device is installed, then the current active device is not disabled, which results in two running broadcast devices. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: stable@vger.kernel.org
Diffstat (limited to 'kernel/time')
-rw-r--r--kernel/time/tick-broadcast.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/time/tick-broadcast.c b/kernel/time/tick-broadcast.c
index f954282d9a82..fd4a7b1625a2 100644
--- a/kernel/time/tick-broadcast.c
+++ b/kernel/time/tick-broadcast.c
@@ -71,7 +71,7 @@ int tick_check_broadcast_device(struct clock_event_device *dev)
(dev->features & CLOCK_EVT_FEAT_C3STOP))
return 0;
- clockevents_exchange_device(NULL, dev);
+ clockevents_exchange_device(tick_broadcast_device.evtdev, dev);
tick_broadcast_device.evtdev = dev;
if (!cpumask_empty(tick_get_broadcast_mask()))
tick_broadcast_start_periodic(dev);