提交 bed936f7 编写于 作者: K Konstantin Karasyov 提交者: Linus Torvalds

[PATCH] ACPI: fix fan/thermal resume

Daniel Ritz <daniel.ritz-ml@swissonline.ch> says:

The acpi driver suspend/resume patches that went in recently caused a regression
on my box (toshiba tecra 8000 laptop): after resume from swsusp the fan turns on
keeping blowing cold air out of my notebook. before the patches, the fan was off
and would only make noise when required. it's the same thing described in
bugzilla.kernel.org #5000. the acpi suspend/resume patches or at least parts of
them originate in this bug. now the last patch in the report (attach id 8438)
actually fixes the problem - for me and the reporter. this is a trimmed down
version of that patch.
Signed-off-by: NDaniel Ritz <daniel.ritz@gmx.ch>
Cc: Len Brown <len.brown@intel.com>
Cc: Sanjoy Mahajan <sanjoy@mrao.cam.ac.uk>
Cc: Pavel Machek <pavel@suse.cz>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 868e81b8
...@@ -1359,13 +1359,28 @@ static int acpi_thermal_remove(struct acpi_device *device, int type) ...@@ -1359,13 +1359,28 @@ static int acpi_thermal_remove(struct acpi_device *device, int type)
static int acpi_thermal_resume(struct acpi_device *device, int state) static int acpi_thermal_resume(struct acpi_device *device, int state)
{ {
struct acpi_thermal *tz = NULL; struct acpi_thermal *tz = NULL;
int i;
if (!device || !acpi_driver_data(device)) if (!device || !acpi_driver_data(device))
return -EINVAL; return -EINVAL;
tz = (struct acpi_thermal *)acpi_driver_data(device); tz = (struct acpi_thermal *)acpi_driver_data(device);
acpi_thermal_check(tz); acpi_thermal_get_temperature(tz);
for (i = 0; i < ACPI_THERMAL_MAX_ACTIVE; i++) {
if (tz->trips.active[i].flags.valid) {
tz->temperature = tz->trips.active[i].temperature;
tz->trips.active[i].flags.enabled = 0;
acpi_thermal_active(tz);
tz->state.active |= tz->trips.active[i].flags.enabled;
tz->state.active_index = i;
}
}
acpi_thermal_check(tz);
return AE_OK; return AE_OK;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册