On Tuesday 11 January 2011 01:05:53 Rafael J. Wysocki wrote: > On Tuesday, January 11, 2011, Rafael J. Wysocki wrote: > > On Tuesday, January 11, 2011, Len Brown wrote: > > > > /** > > > > * cpuidle_enable_device - enables idle PM for a CPU > > > > * @dev: the CPU > > > > @@ -176,6 +215,8 @@ int cpuidle_enable_device(struct cpuidle > > > > ret = __cpuidle_register_device(dev); > > > > if (ret) > > > > return ret; > > > > + } else { > > > > + poll_idle_init(dev); > > > > } > > > > > > how about calling poll_idle_init() unconditionally here > > > and deleting the call to it from within __cpuidle_register_device()? > > > > Fine by me, as long as poll_idle_init() is called before the conditional. :-) > > In fact, it even doesn't need to be called before the conditional. > > So fine by me anyway. What exactly was broken? Is it only sysfs values? Looks like an uninitialized "poll" state can cause cpuidle to not enter "poll" state when it should or enter "poll" when it should not. Hm, if cpuidle would try to call state[0]->enter, it might even segfault? Even not that many machines might be affected because most won't implement runtime C-state changes, shouldn't this still be submitted for stable@ kernels? Thanks, Thomas _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm