On Tuesday, January 11, 2011, Thomas Renninger wrote: > 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? Not only that, the entire state[0] was busted. > 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? Yes, in theory. > 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? I think it should. Thanks, Rafael _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm