diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-03-26 01:03:34 (GMT) |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-03-26 01:03:34 (GMT) |
commit | a12183c62717ac4579319189a00f5883a18dff08 (patch) | |
tree | cad09026a6987c710f1bbfc38730f5e0f0d0796d | |
parent | 53b680924800ad6c67f7e54ca7d5bdc4859d2318 (diff) | |
parent | a7dc19b8652c862d5b7c4d2339bd3c428bd29c4a (diff) | |
download | linux-a12183c62717ac4579319189a00f5883a18dff08.tar.xz |
Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull timer fix from Thomas Gleixner:
"A single bugfix which prevents that a non functional timer device is
selected to provide the fallback device, which is supposed to serve
timer interrupts on behalf of non functional devices ..."
* 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
clockevents: Don't allow dummy broadcast timers
-rw-r--r-- | kernel/time/tick-broadcast.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/time/tick-broadcast.c b/kernel/time/tick-broadcast.c index 2fb8cb8..7f32fe0 100644 --- a/kernel/time/tick-broadcast.c +++ b/kernel/time/tick-broadcast.c @@ -67,7 +67,8 @@ static void tick_broadcast_start_periodic(struct clock_event_device *bc) */ int tick_check_broadcast_device(struct clock_event_device *dev) { - if ((tick_broadcast_device.evtdev && + if ((dev->features & CLOCK_EVT_FEAT_DUMMY) || + (tick_broadcast_device.evtdev && tick_broadcast_device.evtdev->rating >= dev->rating) || (dev->features & CLOCK_EVT_FEAT_C3STOP)) return 0; |