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'
|
### 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.
|
Starting with kernel v4.8.0 a bug was introduced that prevented 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.
|
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
|
2c85025c75dfe7ddc2bb33363a998dad59383f94
|
||||||
ACPI: Execute _PTS before system reboot
|
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.
|
Kernels from 4.8.0 to 4.8.14 are affected, please upgrade to 4.8.15 or to 4.9.
|
||||||
An `rpmbuild` compatible patch and an updated `spec` file are provided for reverting this commit in 4.18.
|
|
||||||
|
|
||||||
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
|
### More info
|
||||||
|
|
||||||
- https://bugzilla.redhat.com/show_bug.cgi?id=1393513
|
- 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=187061
|
||||||
- https://bugzilla.kernel.org/show_bug.cgi?id=151631
|
- https://bugzilla.kernel.org/show_bug.cgi?id=151631
|
||||||
- https://patchwork.kernel.org/patch/9041141/
|
- 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