x86: Add Dell E5420 reboot quirk
PATCH 1/1 x86: Add Dell E5420 reboot quirk
Rebooting on the Dell E5420 often hangs with the keyboard method, but is reliable via the PCI method.
--- arch/x86/kernel/reboot.c | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-)
arch/x86/kernel/reboot.c +8 -0
@@ -411,6 +411,14 @@ static struct dmi_system_id __initdata pci_reboot_dmi_table[] = { DMI_MATCH(DMI_PRODUCT_NAME, "iMac9,1"), }, }, + { + .callback = set_pci_reboot, + .ident = "Dell Latitude E5420", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Latitude E5420"), + }, + }, { } };
Signature · 1 line
1.7.4.1
A message that is not in the archive (sent off-list or not yet received): [email protected]
Quoted 13 lines · H. Peter Anvin
Quoted 11 lines · Daniel J Blueman
Rebooting on the Dell E5420 often hangs with the keyboard method, but is reliable via the PCI method. Signed-off-by: Daniel J Blueman <[email protected]> ---
arch/x86/kernel/reboot.c| 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) diff --gita/arch/x86/kernel/reboot.cb/arch/x86/kernel/reboot.cindex 08c44b0..b16032d 100644 ---a/arch/x86/kernel/reboot.c+++b/arch/x86/kernel/reboot.c@@ -411,6 +411,14 @@ static structdmi_system_id__initdatapci_reboot_dmi_table[] = {DMI_MATCH(DMI_PRODUCT_NAME, "iMac9,1"), }, }, + {
+ .callback =set_pci_reboot, + .ident = "Dell Latitude E5420", + .matches = { +DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), +DMI_MATCH(DMI_PRODUCT_NAME, "Latitude E5420"), + }, + }, { } }; -- 1.7.4.1
Quoted 1 line
How does it work with ACPI?
All other reboot methods including ACPI are unreliable and seem to demonstrate the same failure probability; PCI is the only reliable method alas.
I guess the ACPI reboot method is the supported 'official' vector (and is what Windows uses [1]), so there must be some other constraints preventing it work as expected, unless the ACPI tables delivered to Linux are broken, would you say?
Daniel
[1] http://comments.gmane.org/gmane.linux.kernel/1122388
Signature · 1 line
Daniel J Blueman
Hi hpa, Thomas, Ingo,
Quoted 20 lines · Daniel J Blueman
Quoted 13 lines · H. Peter Anvin
Quoted 11 lines · Daniel J Blueman
Rebooting on the Dell E5420 often hangs with the keyboard method, but is reliable via the PCI method. Signed-off-by: Daniel J Blueman <[email protected]> ---
arch/x86/kernel/reboot.c| 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) diff --gita/arch/x86/kernel/reboot.cb/arch/x86/kernel/reboot.cindex 08c44b0..b16032d 100644 ---a/arch/x86/kernel/reboot.c+++b/arch/x86/kernel/reboot.c@@ -411,6 +411,14 @@ static structdmi_system_id__initdatapci_reboot_dmi_table[] = {DMI_MATCH(DMI_PRODUCT_NAME, "iMac9,1"), }, }, + {
+ .callback =set_pci_reboot, + .ident = "Dell Latitude E5420", + .matches = { +DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), +DMI_MATCH(DMI_PRODUCT_NAME, "Latitude E5420"), + }, + }, { } }; -- 1.7.4.1Quoted 1 line
How does it work with ACPI?
All other reboot methods including ACPI are unreliable and seem to demonstrate the same failure probability; PCI is the only reliable method alas.
Quoted 8 lines
I guess the ACPI reboot method is the supported 'official' vector (and is what Windows uses [1]), so there must be some other constraints preventing it work as expected, unless the ACPI tables delivered to Linux are broken, would you say?
Daniel
Without this patch, rebooting is like Russian roulette; with quite a few of these laptops in the field, perhaps it is better to enable the quirk unless you think there may be an issue in the kernel preventing correct behaviour that I could debug?
On the other hand, Dell may later fix the BIOS AML (seen with the excellent fwts) just as the cure for cancer is found. If they do, I'll buy whiskey too.
Thanks,
Daniel
Signature · 1 line
Daniel J Blueman
H. Peter Anvin
reviewerQuoted 10 lines · Daniel J Blueman
Without this patch, rebooting is like Russian roulette; with quite a few of these laptops in the field, perhaps it is better to enable the quirk unless you think there may be an issue in the kernel preventing correct behaviour that I could debug?
On the other hand, Dell may later fix the BIOS AML (seen with the excellent fwts) just as the cure for cancer is found. If they do, I'll buy whiskey too.
Enabling the quirk is the right thing; however, if ACPI worked I'd have preferred it since we just switched to ACPI as the default.
-hpa
Signature · 2 lines
H. Peter Anvin, Intel Open Source Technology Center I work for Intel. I don't speak on their behalf.
Quoted 7 lines · H. Peter Anvin
Quoted 6 lines · Daniel J Blueman
Without this patch, rebooting is like Russian roulette; with quite a few of these laptops in the field, perhaps it is better to enable the quirk unless you think there may be an issue in the kernel preventing correct behaviour that I could debug?
Quoted 6 lines
Quoted 3 lines
On the other hand, Dell may later fix the BIOS AML (seen with the excellent fwts) just as the cure for cancer is found. If they do, I'll buy whiskey too.
Enabling the quirk is the right thing; however, if ACPI worked I'd have preferred it since we just switched to ACPI as the default.
Indeed - the new and default ACPI reboot method works perfectly in 3.0-rc1, whereas with 2.6.39, it didn't, so no further need for this patch then.
Thanks again,
Daniel
Signature · 1 line
Daniel J Blueman
H. Peter Anvin
reviewerQuoted 12 lines · Daniel J Blueman
Quoted 10 lines · H. Peter Anvin
Quoted 9 lines · Daniel J Blueman
Without this patch, rebooting is like Russian roulette; with quite a few of these laptops in the field, perhaps it is better to enable the quirk unless you think there may be an issue in the kernel preventing correct behaviour that I could debug?
On the other hand, Dell may later fix the BIOS AML (seen with the excellent fwts) just as the cure for cancer is found. If they do, I'll buy whiskey too.
Quoted 6 lines
Quoted 2 lines
Enabling the quirk is the right thing; however, if ACPI worked I'd have preferred it since we just switched to ACPI as the default.
Indeed - the new and default ACPI reboot method works perfectly in 3.0-rc1, whereas with 2.6.39, it didn't, so no further need for this patch then.
Oh, okay. Dropping the patch, then.
-hpa
Signature · 2 lines
H. Peter Anvin, Intel Open Source Technology Center I work for Intel. I don't speak on their behalf.
Quoted 7 lines · Daniel J Blueman
Quoted 2 lines · H. Peter Anvin
Enabling the quirk is the right thing; however, if ACPI worked I'd have preferred it since we just switched to ACPI as the default.
Indeed - the new and default ACPI reboot method works perfectly in 3.0-rc1, whereas with 2.6.39, it didn't, so no further need for this patch then.
It's not entirely equivalent to the way the ACPI reboot method worked in previous kernels, so it should work better.
Signature · 1 line
Matthew Garrett | [email protected]
Quoted 12 lines · Daniel J Blueman
Quoted 10 lines · H. Peter Anvin
Quoted 9 lines · Daniel J Blueman
Without this patch, rebooting is like Russian roulette; with quite a few of these laptops in the field, perhaps it is better to enable the quirk unless you think there may be an issue in the kernel preventing correct behaviour that I could debug?
On the other hand, Dell may later fix the BIOS AML (seen with the excellent fwts) just as the cure for cancer is found. If they do, I'll buy whiskey too.
Quoted 6 lines
Quoted 2 lines
Enabling the quirk is the right thing; however, if ACPI worked I'd have preferred it since we just switched to ACPI as the default.
Indeed - the new and default ACPI reboot method works perfectly in 3.0-rc1, whereas with 2.6.39, it didn't, so no further need for this patch then.
I slipped up, since after finally now moving on from 2.6.39, I removed the 'reboot=p' boot parameter; it turns out that 3.0-rc1 through -rc5 do need this workaround; and the BIOS isn't changed. Honest. So, I didn't double-check that I had booted without it.
Can you queue up the patch please (earlier in the thread)? Probably we should consider it for stable too, due to the hassle it brings. Let me know if we should debug would be useful for this problem.
Thanks,
Daniel
Signature · 1 line
Daniel J Blueman
[tip:x86/urgent] x86: Make Dell Latitude E5420 use reboot=pci
In reply to Daniel J BluemanCommit-ID: f2b3178e66c132b81a59c5ff8b469fdee02aad4f Gitweb: http://git.kernel.org/tip/f2b3178e66c132b81a59c5ff8b469fdee02aad4f Author: Daniel J Blueman <[email protected]> AuthorDate: Fri, 13 May 2011 09:04:59 +0800 Committer: H. Peter Anvin <[email protected]> CommitDate: Thu, 21 Jul 2011 11:19:01 -0700
x86: Make Dell Latitude E5420 use reboot=pci
Rebooting on the Dell E5420 often hangs with the keyboard or ACPI methods, but is reliable via the PCI method.
[ hpa: this was deferred because we believed for a long time that the
recent reshuffling of the boot priorities in commit 660e34cebf0a11d54f2d5dd8838607452355f321 fixed this platform. Unfortunately that turned out to be incorrect. ]
--- arch/x86/kernel/reboot.c | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-)
arch/x86/kernel/reboot.c +8 -0
@@ -427,6 +427,14 @@ static struct dmi_system_id __initdata pci_reboot_dmi_table[] = { DMI_MATCH(DMI_PRODUCT_NAME, "Latitude E6320"), }, }, + { /* Handle problems with rebooting on the Latitude E5420. */ + .callback = set_pci_reboot, + .ident = "Dell Latitude E5420", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Latitude E5420"), + }, + }, { } };
[tip:x86/urgent] x86: Make Dell Latitude E5420 use reboot=pci
In reply to Daniel J BluemanCommit-ID: b7798d28ec15d20fd34b70fa57eb13f0cf6d1ecd Gitweb: http://git.kernel.org/tip/b7798d28ec15d20fd34b70fa57eb13f0cf6d1ecd Author: Daniel J Blueman <[email protected]> AuthorDate: Fri, 13 May 2011 09:04:59 +0800 Committer: H. Peter Anvin <[email protected]> CommitDate: Thu, 21 Jul 2011 11:45:49 -0700
x86: Make Dell Latitude E5420 use reboot=pci
Rebooting on the Dell E5420 often hangs with the keyboard or ACPI methods, but is reliable via the PCI method.
[ hpa: this was deferred because we believed for a long time that the
recent reshuffling of the boot priorities in commit 660e34cebf0a11d54f2d5dd8838607452355f321 fixed this platform. Unfortunately that turned out to be incorrect. ]
--- arch/x86/kernel/reboot.c | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-)
arch/x86/kernel/reboot.c +8 -0
@@ -427,6 +427,14 @@ static struct dmi_system_id __initdata pci_reboot_dmi_table[] = { DMI_MATCH(DMI_PRODUCT_NAME, "Latitude E6320"), }, }, + { /* Handle problems with rebooting on the Latitude E5420. */ + .callback = set_pci_reboot, + .ident = "Dell Latitude E5420", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Latitude E5420"), + }, + }, { } };