Bug 33302 - ACPI reboot broken on HP Compaq nx7300.
Summary: ACPI reboot broken on HP Compaq nx7300.
Alias: None
Product: Platform Specific/Hardware
Classification: Unclassified
Component: i386 (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: platform_i386
: 33442 (view as bug list)
Depends on:
Blocks: 32012
  Show dependency tree
Reported: 2011-04-15 14:44 UTC by Alexey Zaytsev
Modified: 2011-05-03 18:02 UTC (History)
5 users (show)

See Also:
Kernel Version: 2.6.39-rc3
Regression: Yes
Bisected commit-id:

Kernel config (71.05 KB, text/plain)
2011-04-15 14:45 UTC, Alexey Zaytsev
dmesg (46.71 KB, text/plain)
2011-04-15 14:45 UTC, Alexey Zaytsev
dmidecode (6.90 KB, text/plain)
2011-04-15 14:46 UTC, Alexey Zaytsev
dmesg from nx6310 (49.79 KB, text/plain)
2011-04-18 14:52 UTC, Maciej Rutecki
Proposed fix (1.09 KB, patch)
2011-04-30 22:32 UTC, H. Peter Anvin
Details | Diff

Description Alexey Zaytsev 2011-04-15 14:44:08 UTC
The laptop won't reboot, just hanging on

Restarting system.
machine reboot.

Poweroff works as expected.

Is there any chance to debug it without bisecting? Rc3 was the first
.39 kernel I've tried, so the problem is likely also present in rc1.
Comment 1 Alexey Zaytsev 2011-04-15 14:45:13 UTC
Created attachment 54442 [details]
Kernel config
Comment 2 Alexey Zaytsev 2011-04-15 14:45:37 UTC
Created attachment 54452 [details]
Comment 3 Alexey Zaytsev 2011-04-15 14:46:02 UTC
Created attachment 54462 [details]
Comment 4 Maciej Rutecki 2011-04-18 14:47:58 UTC
*** Bug 33442 has been marked as a duplicate of this bug. ***
Comment 5 Maciej Rutecki 2011-04-18 14:50:02 UTC
Same behaviour on HP/Compaq nx6310
Comment 6 Maciej Rutecki 2011-04-18 14:52:26 UTC
Created attachment 54602 [details]
dmesg from nx6310
Comment 7 Rafael J. Wysocki 2011-04-23 19:34:33 UTC
Please check if reverting any of these commits helps:

commit 6734fe57a07b2dd23ef1ef2ac1f790747e53eefc
Author: Matthew Garrett <mjg@redhat.com>
Date:   Fri Mar 11 16:12:19 2011 -0500

    ACPI: Bug compatibility for Windows on the ACPI reboot vector

commit f17d9cbf20c4734c4199caa6dee87047f2f8278f
Author: Matthew Garrett <mjg@redhat.com>
Date:   Fri Mar 11 16:12:18 2011 -0500

    ACPICA: Fix access width for reset vector
Comment 8 Len Brown 2011-04-26 01:44:17 UTC
does booting with "reboot=kbd" help?
Comment 9 Matthew Garrett 2011-04-26 02:27:41 UTC
How are you using ACPI for rebooting? dmesg doesn't show you requesting it, the patch to make it default isn't upstream yet and your machine is DMI quirked to jump to the BIOS for reboot.
Comment 10 Len Brown 2011-04-28 02:23:16 UTC
re dmesg for nx7300 in comment #2

> HP Compaq Laptop series board detected. Selecting BIOS-method for reboots.

Matthew speaks the truth.  This box is quirked to not use ACPI for reboot at all...

re: dmesg for nx6310 in comment #6

same situation:
> HP Compaq Laptop series board detected. Selecting BIOS-method for reboots.
indeed the quirk to use BIOS reboot is dangerously vague:

        {       /* Handle problems with rebooting on HP laptops */
                .callback = set_bios_reboot,
                .ident = "HP Compaq Laptop",
                .matches = {
                        DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
                        DMI_MATCH(DMI_PRODUCT_NAME, "HP Compaq"),
Comment 11 Len Brown 2011-04-28 02:30:46 UTC
curiously, reboot=bios is #ifdef CONFIG_X86_32
I wonder if 64-bit kernels have a similar regression on these boxes.
Comment 12 Maciej Rutecki 2011-04-28 19:07:30 UTC
1. 2.6.39-rc5 + revert 6734fe57a07b2dd23ef1ef2ac1f790747e53eefc doesn't help.
2. 2.6.39-rc5 + revert f17d9cbf20c4734c4199caa6dee87047f2f8278f doesn't help.
3. reboot=kbd doesn't help.

Comment 13 Alexey Zaytsev 2011-04-29 03:19:02 UTC
Hey, sorry for the pause.

Maciej: Thanks for testing!
Len: This thing only supports Intel Core, not Core2, so no x86_64.

Yeah, it turns out, it's not really ACPI-related, but I guess there is no point moving it now, right? Anyway, it seems I'll have to start bisecting now.
Comment 14 Alexey Zaytsev 2011-04-29 04:30:11 UTC
And it did not take long at all, -rc5 worked after reverting

ee1b06ea6aed979da3b4e6b6ffea98ad55a3c5c1 x86, reboot: Fix the use of passed arguments in 32-bit BIOS reboot

3d35ac346e981162eeba391e496faceed4753e7b x86, reboot: Move the real-mode reboot code to an assembly file
Comment 15 Alexey Zaytsev 2011-04-29 17:45:18 UTC
Ok, I've got an other symptom. After applying the patches, the display resumed to power off on idle. So it's not the reboot code that broke. The only thing I see is that now you are placing the reboot code in .section ".x86_trampoline","a".
Comment 16 Alexey Zaytsev 2011-04-29 17:46:06 UTC
s/applying/reverting/, of course.
Comment 17 Rafael J. Wysocki 2011-04-30 19:15:09 UTC
First-Bad-Commit : 3d35ac346e981162eeba391e496faceed4753e7b
Comment 18 H. Peter Anvin 2011-04-30 22:32:50 UTC
Created attachment 56022 [details]
Proposed fix

Alexey: please try the attached patch.
Comment 19 Alexey Zaytsev 2011-05-01 10:47:28 UTC
Comment 20 H. Peter Anvin 2011-05-02 18:29:48 UTC
On 05/01/2011 03:47 AM, bugzilla-daemon@bugzilla.kernel.org wrote:
> https://bugzilla.kernel.org/show_bug.cgi?id=33302
> --- Comment #19 from Alexey Zaytsev <alexey.zaytsev@gmail.com>  2011-05-01
> 10:47:28 ---
> Negative.

"Negative" meaning what?

Comment 21 Alexey Zaytsev 2011-05-02 18:33:41 UTC
It did not help. Sorry for being ambiguous.
Comment 22 H. Peter Anvin 2011-05-02 19:14:44 UTC
> It did not help. Sorry for being ambiguous.

Uck.  I was able to reproduce the problem on one test rig, and there
this patch did work as intended.  This now means I am at a bit of a loss
how to attempt to address the residual problem...

Comment 23 Alexey Zaytsev 2011-05-02 19:47:35 UTC
Comment 24 H. Peter Anvin 2011-05-02 21:38:17 UTC
Comment 25 Alexey Zaytsev 2011-05-02 21:43:38 UTC
The bugzilla timed out the last few times I tried to post. ;)

Shame on me, it worked. Thanks a lot for fixing!
Comment 26 Rafael J. Wysocki 2011-05-02 22:30:56 UTC
Handled-By : H. Peter Anvin <hpa@zytor.com>
Patch : https://bugzilla.kernel.org/attachment.cgi?id=56022

Note You need to log in before you can comment on or make changes to this bug.