summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorHenrique de Moraes Holschuh <hmh@hmh.eng.br>2008-11-09 10:54:02 -0200
committerLen Brown <len.brown@intel.com>2008-11-26 19:24:22 -0500
commit0081b162023690877e0096ef17a82ba1969befa8 (patch)
treea553ce1a8c3089c5a4f29fbec46f389a3b261391 /include
parent3fedd90fdf17643df1da473c5da983137d51bbdb (diff)
downloadop-kernel-dev-0081b162023690877e0096ef17a82ba1969befa8.zip
op-kernel-dev-0081b162023690877e0096ef17a82ba1969befa8.tar.gz
ACPI: thinkpad-acpi: fix fan sleep/resume path
This fixes a regression from v2.6.27, caused by commit 5814f737e1cd2cfa2893badd62189acae3e1e1fd, "ACPI: thinkpad-acpi: attempt to preserve fan state on resume". It is possible for fan_suspend() to fail to properly initialize fan_control_desired_level as required by fan_resume(), resulting on the fan always being set to level 7 on resume if the user didn't touch the fan controller. In order to get fan sleep/resume handling to work right: 1. Fix the fan_suspend handling of the T43 firmware quirk. If it is still undefined, we didn't touch the fan yet and that means we have no business doing it on resume. 2. Store the fan level on its own variable to avoid any possible issues with hijacking fan_control_desired_level (which isn't supposed to have anything other than 0-7 in it, anyway). 3. Change the fan_resume code to me more straightforward to understand (although we DO optimize the boolean logic there, otherwise it looks disgusting). 4. Add comments to help understand what the code is supposed to be doing. 5. Change fan_set_level to be less strict about how auto and full-speed modes are requested. http://bugzilla.kernel.org/show_bug.cgi?id=11982 Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> Reported-by: Tino Keitel <tino.keitel@tikei.de> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud