|
@@ -575,11 +575,15 @@ void tick_broadcast_switch_to_oneshot(void)
|
|
unsigned long flags;
|
|
unsigned long flags;
|
|
|
|
|
|
raw_spin_lock_irqsave(&tick_broadcast_lock, flags);
|
|
raw_spin_lock_irqsave(&tick_broadcast_lock, flags);
|
|
|
|
+ if (cpumask_empty(tick_get_broadcast_mask()))
|
|
|
|
+ goto end;
|
|
|
|
|
|
tick_broadcast_device.mode = TICKDEV_MODE_ONESHOT;
|
|
tick_broadcast_device.mode = TICKDEV_MODE_ONESHOT;
|
|
bc = tick_broadcast_device.evtdev;
|
|
bc = tick_broadcast_device.evtdev;
|
|
if (bc)
|
|
if (bc)
|
|
tick_broadcast_setup_oneshot(bc);
|
|
tick_broadcast_setup_oneshot(bc);
|
|
|
|
+
|
|
|
|
+end:
|
|
raw_spin_unlock_irqrestore(&tick_broadcast_lock, flags);
|
|
raw_spin_unlock_irqrestore(&tick_broadcast_lock, flags);
|
|
}
|
|
}
|
|
|
|
|