Patch 2.6.32.28 to 2.6.32.32
/kernel/time/tick-common.c
blob:83c4417b6a3cccd734c8f7f9386670641babd0c8 -> blob:a943826402b8567f4fc15e1c36a8a7326e3b67d7
--- kernel/time/tick-common.c
+++ kernel/time/tick-common.c
@@ -51,7 +51,11 @@ int tick_is_oneshot_available(void)
{
struct clock_event_device *dev = __get_cpu_var(tick_cpu_device).evtdev;
- return dev && (dev->features & CLOCK_EVT_FEAT_ONESHOT);
+ if (!dev || !(dev->features & CLOCK_EVT_FEAT_ONESHOT))
+ return 0;
+ if (!(dev->features & CLOCK_EVT_FEAT_C3STOP))
+ return 1;
+ return tick_broadcast_oneshot_available();
}
/*