From: Thomas Gleixner Date: Fri, 2 Dec 2011 11:34:16 +0000 (+0100) Subject: tick-broadcast: Stop active broadcast device when replacing it X-Git-Tag: v2.6.32.50~2 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=7a2d10ca36b5f50f5c34604c2c3c8bf371cb884f;p=karo-tx-linux.git tick-broadcast: Stop active broadcast device when replacing it commit c1be84309c58b1e7c6d626e28fba41a22b364c3d upstream. 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 Signed-off-by: Greg Kroah-Hartman --- diff --git a/kernel/time/tick-broadcast.c b/kernel/time/tick-broadcast.c index 8917fd3b0ed5..57b953f1d42c 100644 --- a/kernel/time/tick-broadcast.c +++ b/kernel/time/tick-broadcast.c @@ -72,7 +72,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);