aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/time
diff options
context:
space:
mode:
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>2016-01-14 23:24:22 +0100
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2016-01-14 23:24:22 +0100
commit9c4b2867ed7c8c8784dd417ffd16e705e81eb145 (patch)
treecdb9a119d25dfd0347551b26d45ff6a95750ba75 /kernel/time
parentdrivers/cpuidle: make cpuidle-exynos.c explicitly non-modular (diff)
downloadlinux-dev-9c4b2867ed7c8c8784dd417ffd16e705e81eb145.tar.xz
linux-dev-9c4b2867ed7c8c8784dd417ffd16e705e81eb145.zip
cpuidle: menu: Fix menu_select() for CPUIDLE_DRIVER_STATE_START == 0
Commit a9ceb78bc75c (cpuidle,menu: use interactivity_req to disable polling) exposed a bug in menu_select() causing it to return -1 on systems with CPUIDLE_DRIVER_STATE_START equal to zero, although it should have returned 0. As a result, idle states are not entered by CPUs on those systems. Namely, on the systems in question data->last_state_idx is initially equal to -1 and the above commit modified the condition that would have caused it to be changed to 0 to be less likely to trigger which exposed the problem. However, setting data->last_state_idx initially to -1 doesn't make sense at all and on the affected systems it should always be set to CPUIDLE_DRIVER_STATE_START (ie. 0) unconditionally, so make that happen. Fixes: a9ceb78bc75c (cpuidle,menu: use interactivity_req to disable polling) Reported-and-tested-by: Sudeep Holla <sudeep.holla@arm.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'kernel/time')
0 files changed, 0 insertions, 0 deletions