Merge commit '8700c95adb03' into timers/nohz
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / kernel / time / tick-broadcast.c
index 2fb8cb88df8d0296e655f320bc7d5cbce1a858c8..40c10502c9e9e51871f1034a035f40c44a653961 100644 (file)
@@ -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;
@@ -573,7 +574,8 @@ void tick_broadcast_setup_oneshot(struct clock_event_device *bc)
                bc->event_handler = tick_handle_oneshot_broadcast;
 
                /* Take the do_timer update */
-               tick_do_timer_cpu = cpu;
+               if (!tick_nohz_full_cpu(cpu))
+                       tick_do_timer_cpu = cpu;
 
                /*
                 * We must be careful here. There might be other CPUs