diff options
Diffstat (limited to 'kernel/time/tick-broadcast.c')
-rw-r--r-- | kernel/time/tick-broadcast.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/kernel/time/tick-broadcast.c b/kernel/time/tick-broadcast.c index fd4a7b1625a2..e883f57a3cd3 100644 --- a/kernel/time/tick-broadcast.c +++ b/kernel/time/tick-broadcast.c | |||
@@ -575,11 +575,15 @@ void tick_broadcast_switch_to_oneshot(void) | |||
575 | unsigned long flags; | 575 | unsigned long flags; |
576 | 576 | ||
577 | raw_spin_lock_irqsave(&tick_broadcast_lock, flags); | 577 | raw_spin_lock_irqsave(&tick_broadcast_lock, flags); |
578 | if (cpumask_empty(tick_get_broadcast_mask())) | ||
579 | goto end; | ||
578 | 580 | ||
579 | tick_broadcast_device.mode = TICKDEV_MODE_ONESHOT; | 581 | tick_broadcast_device.mode = TICKDEV_MODE_ONESHOT; |
580 | bc = tick_broadcast_device.evtdev; | 582 | bc = tick_broadcast_device.evtdev; |
581 | if (bc) | 583 | if (bc) |
582 | tick_broadcast_setup_oneshot(bc); | 584 | tick_broadcast_setup_oneshot(bc); |
585 | |||
586 | end: | ||
583 | raw_spin_unlock_irqrestore(&tick_broadcast_lock, flags); | 587 | raw_spin_unlock_irqrestore(&tick_broadcast_lock, flags); |
584 | } | 588 | } |
585 | 589 | ||