Kernel 4.8.15 solved the issue
This commit is contained in:
parent
4a26113843
commit
7b2aa9f376
@ -1,37 +1,23 @@
|
||||
### Reverting 'ACPI: Execute _PTS before system reboot'
|
||||
|
||||
Starting with kernel v4.8 a bug as been introduced that prevents a correct shutdown/reboot of the machine.
|
||||
Bug has been fixed then in 4.9rc7 and kernel 4.9 is not be affected by the issue anymore.
|
||||
Starting with kernel v4.8.0 a bug was introduced that prevented a correct shutdown/reboot of the machine.
|
||||
Bug has been fixed in 4.9rc7 and then backported to 4.8; the kernel tree 4.9 and kernels >= 4.8.15 are not be affected by the issue anymore.
|
||||
|
||||
The bad commit is:
|
||||
The bad commit was:
|
||||
|
||||
```
|
||||
2c85025c75dfe7ddc2bb33363a998dad59383f94
|
||||
ACPI: Execute _PTS before system reboot
|
||||
```
|
||||
|
||||
All kernels from 4.8.0 are affected at the moment. A special thanks to **Giampaolo** on *kbz* for bisecting sources down to the root cause.
|
||||
An `rpmbuild` compatible patch and an updated `spec` file are provided for reverting this commit in 4.18.
|
||||
Kernels from 4.8.0 to 4.8.14 are affected, please upgrade to 4.8.15 or to 4.9.
|
||||
|
||||
On Fedora 24 and 25 is also possible to use a 4.9 kernel from rawhide:
|
||||
A special thanks to **Giampaolo** on *kbz* for bisecting sources down to the root cause.
|
||||
|
||||
```bash
|
||||
sudo dnf install fedora-repos-rawhide
|
||||
sudo dnf --enablerepo=rawhide upgrade kernel*
|
||||
|
||||
kernel.x86_64 4.9.0-1.fc26 @rawhide
|
||||
kernel-core.x86_64 4.9.0-1.fc26 @rawhide
|
||||
kernel-devel.x86_64 4.9.0-1.fc26 @rawhide
|
||||
kernel-headers.x86_64 4.9.0-1.fc26 @rawhide
|
||||
kernel-modules.x86_64 4.9.0-1.fc26 @rawhide
|
||||
kernel-modules-extra.x86_64 4.9.0-1.fc26 @rawhide
|
||||
kernel-tools.x86_64 4.9.0-1.fc26 @rawhide
|
||||
kernel-tools-libs.x86_64 4.9.0-1.fc26 @rawhide
|
||||
|
||||
```
|
||||
### More info
|
||||
|
||||
- https://bugzilla.redhat.com/show_bug.cgi?id=1393513
|
||||
- https://bugzilla.kernel.org/show_bug.cgi?id=187061
|
||||
- https://bugzilla.kernel.org/show_bug.cgi?id=151631
|
||||
- https://patchwork.kernel.org/patch/9041141/
|
||||
- https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.8.15
|
||||
|
4297
kernel/kernel.spec
4297
kernel/kernel.spec
File diff suppressed because it is too large
Load Diff
@ -1,65 +0,0 @@
|
||||
From c68d3d1812326d3845220564b69faa720c297c73 Mon Sep 17 00:00:00 2001
|
||||
From: Daniele Viganò <daniele@vigano.me>
|
||||
Date: Thu, 10 Nov 2016 08:11:29 +0100
|
||||
Subject: [PATCH] Reverting 2c85025c75dfe7ddc2bb33363a998dad59383f94
|
||||
|
||||
---
|
||||
drivers/acpi/sleep.c | 29 ++++++-----------------------
|
||||
1 file changed, 6 insertions(+), 23 deletions(-)
|
||||
|
||||
diff --git a/drivers/acpi/sleep.c b/drivers/acpi/sleep.c
|
||||
index 2b38c1b..7a2e4d4 100644
|
||||
--- a/drivers/acpi/sleep.c
|
||||
+++ b/drivers/acpi/sleep.c
|
||||
@@ -47,32 +47,15 @@ static void acpi_sleep_tts_switch(u32 acpi_state)
|
||||
}
|
||||
}
|
||||
|
||||
-static void acpi_sleep_pts_switch(u32 acpi_state)
|
||||
-{
|
||||
- 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,
|
||||
+static int tts_notify_reboot(struct notifier_block *this,
|
||||
unsigned long code, void *x)
|
||||
{
|
||||
acpi_sleep_tts_switch(ACPI_STATE_S5);
|
||||
-
|
||||
- acpi_sleep_pts_switch(ACPI_STATE_S5);
|
||||
-
|
||||
return NOTIFY_DONE;
|
||||
}
|
||||
|
||||
-static struct notifier_block sleep_notifier = {
|
||||
- .notifier_call = sleep_notify_reboot,
|
||||
+static struct notifier_block tts_notifier = {
|
||||
+ .notifier_call = tts_notify_reboot,
|
||||
.next = NULL,
|
||||
.priority = 0,
|
||||
};
|
||||
@@ -916,9 +899,9 @@ int __init acpi_sleep_init(void)
|
||||
pr_info(PREFIX "(supports%s)\n", supported);
|
||||
|
||||
/*
|
||||
- * Register the sleep_notifier to reboot notifier list so that the _TTS
|
||||
- * and _PTS object can also be evaluated when the system enters S5.
|
||||
+ * Register the tts_notifier to reboot notifier list so that the _TTS
|
||||
+ * object can also be evaluated when the system enters S5.
|
||||
*/
|
||||
- register_reboot_notifier(&sleep_notifier);
|
||||
+ register_reboot_notifier(&tts_notifier);
|
||||
return 0;
|
||||
}
|
||||
--
|
||||
2.7.4
|
||||
|
Loading…
Reference in New Issue
Block a user