Commit d271b9be authored by Rafael J. Wysocki's avatar Rafael J. Wysocki Committed by Greg Kroah-Hartman

Revert "ACPI: Execute _PTS before system reboot"

commit 9713adc2 upstream.

Revert commit 2c85025c (ACPI: Execute _PTS before system reboot)
as it is reported to cause poweroff and reboot to hang on Dell
Latitude E7250.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=187061Reported-by: default avatarGianpaolo <gianpaoloc@gmail.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 3ee9f16c
...@@ -47,32 +47,15 @@ static void acpi_sleep_tts_switch(u32 acpi_state) ...@@ -47,32 +47,15 @@ static void acpi_sleep_tts_switch(u32 acpi_state)
} }
} }
static void acpi_sleep_pts_switch(u32 acpi_state) static int tts_notify_reboot(struct notifier_block *this,
{
acpi_status status;
status = acpi_execute_simple_method(NULL, "\\_PTS", acpi_state);
if (ACPI_FAILURE(status) && status != AE_NOT_FOUND) {
/*
* OS can't evaluate the _PTS object correctly. Some warning
* message will be printed. But it won't break anything.
*/
printk(KERN_NOTICE "Failure in evaluating _PTS object\n");
}
}
static int sleep_notify_reboot(struct notifier_block *this,
unsigned long code, void *x) unsigned long code, void *x)
{ {
acpi_sleep_tts_switch(ACPI_STATE_S5); acpi_sleep_tts_switch(ACPI_STATE_S5);
acpi_sleep_pts_switch(ACPI_STATE_S5);
return NOTIFY_DONE; return NOTIFY_DONE;
} }
static struct notifier_block sleep_notifier = { static struct notifier_block tts_notifier = {
.notifier_call = sleep_notify_reboot, .notifier_call = tts_notify_reboot,
.next = NULL, .next = NULL,
.priority = 0, .priority = 0,
}; };
...@@ -916,9 +899,9 @@ int __init acpi_sleep_init(void) ...@@ -916,9 +899,9 @@ int __init acpi_sleep_init(void)
pr_info(PREFIX "(supports%s)\n", supported); pr_info(PREFIX "(supports%s)\n", supported);
/* /*
* Register the sleep_notifier to reboot notifier list so that the _TTS * Register the tts_notifier to reboot notifier list so that the _TTS
* and _PTS object can also be evaluated when the system enters S5. * object can also be evaluated when the system enters S5.
*/ */
register_reboot_notifier(&sleep_notifier); register_reboot_notifier(&tts_notifier);
return 0; return 0;
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment