Kernel Bug Tracker – Bug 4992
Power off stops
Last modified: 2005-08-10 18:08:36 UTC
Compaq EVO 800N Notebook, with ATI Technologies Inc Radeon Mobility M7,
kernel .config: http://www.gemtek.lt/~zilvinas/config-2.6.13-rc5
Linux swoop 2.6.12 #1 Sun Jun 19 16:06:12 EEST 2005 i686 GNU/Linux
Gnu C 4.0.2
Gnu make 3.80
Linux C Library 2.3.2
Dynamic linker (ldd) 2.3.2
Modules Loaded prism54 radeon drm cpufreq_ondemand acpi_cpufreq freq_tab
le pcmcia ipv6 irtty_sir sir_dev irda crc_ccitt floppy 8250_pnp 8250 serial_core
pl2303 usbserial ehci_hcd ohci_hcd yenta_socket rsrc_nonstatic pcmcia_core ipw2
200 firmware_class ieee80211 ieee80211_crypt snd_intel8x0 snd_ac97_codec snd_pcm
_oss snd_mixer_oss snd_pcm snd_timer snd soundcore snd_page_alloc intel_agp agpg
art deflate zlib_deflate zlib_inflate twofish serpent aes_i586 blowfish des sha2
56 sha1 md5 crypto_null dm_mod ide_cd cdrom
Impossible to power off notebook. Doing 'halt' - power off process stops right
before power off HD (services are already stopped, HD disk partions unmounted).
Sys-rq T - shows a lot of output (Can't capture as this notebook has no serial
port). Last backtrace shows complete_wait() - don't rememmber, and there are
some USB calls down the backtrace. At the time of poweroff I had USB mouse
connected. If there is need I can write down backtrace printed by Sysrq-T
Steps to reproduce:
Run as root:
Others have reported that this broke between 2.6.12
and 2.6.13-rc1 -- is this true for your system too?
yeah, we broke a bunch of stuff in that area.
2.6.13-rc5-git2 should fix this stuff up
(ftp://ftp.kernel.org/pub/linux/kernel/v2.6/snapshots). It shuld
appear there in 12 hours or so.
Could you please retest tommorow, update this report? This is
a must-fix for 2.6.13.
I haven't tried version 2.6.13-rc1, but I am sure I had tried 2.6.13-rc2 and it
had the same problems. (rc3, rc4 - skipped for exactly the same problem, tried
rc5 hoping problem was fixed).
No problem, sure I will try 2.6.13-rc5-git2 when it shows up on kernel.org. For
now I will try Linus' git repository. There already are some changes related to
Andrew, perhaps this will shed some light what is happening. I've tried compiled
kernel from Linus' git repository. Last commit 'git log' is :
Author: Linus Torvalds <email@example.com>
Date: Wed Aug 3 16:50:19 2005 -0700
Booted fine, poweroff stops right after file systems are unmounted. Sysrq-T
shows such backtrace (Hit Sys-rq several times, always the same backtrace is
shown). Backscrolling (as much as there are buffer, I am using radeon
framebuffer) - I see worker threads 'S' state, 'halt' processs is shown last in
'D'. Backtrace follows:
I hope this helps.
I noticed also something new while toying with 'Sysrq'. It seems if filesystem
are unmounted, yet I hit 'Sysrq-S' twice ... then Sysrq stops responding (can't
print help message, or 'Sysrq-B' ...). Had to do hard power off.
2.6.13-rc5-git2 doesn't help, the same behaviour - power off stops right after
unmounting filesystem and before shutting down hda.
I've tried patch posted on LKML, see below.
1 test: Power off stops before shutting down hda. Filesystems are unmounted.
Backtrace looks slighly different, but again in USB code. (If you want I can
write it down).
2 test: I've tried to power off Notebook without USB mouse and USB->Serial
converter (PL-2303). In such case notebook shuts down correctly. I've seen
message saying that "cannot suspend 0000:02:0e" ... but otherwise notebook
powers off correctly.
0000:00:00.0 Host bridge: Intel Corp. 82845 845 (Brookdale) Chipset Host Bridge
0000:00:01.0 PCI bridge: Intel Corp. 82845 845 (Brookdale) Chipset AGP Bridge
0000:00:1e.0 PCI bridge: Intel Corp. 82801 PCI Bridge (rev 42)
0000:00:1f.0 ISA bridge: Intel Corp. 82801CAM ISA Bridge (LPC) (rev 02)
0000:00:1f.1 IDE interface: Intel Corp. 82801CAM IDE U100 (rev 02)
0000:00:1f.5 Multimedia audio controller: Intel Corp. 82801CA/CAM AC'97 Audio
Controller (rev 02)
0000:01:00.0 VGA compatible controller: ATI Technologies Inc Radeon Mobility M7
LW [Radeon Mobility 7500]
0000:02:04.0 Network controller: Intel Corp. PRO/Wireless 2200BG (rev 05)
0000:02:06.0 CardBus bridge: Texas Instruments PCI1410 PC card Cardbus
Controller (rev 02)
0000:02:0e.0 USB Controller: NEC Corporation USB (rev 41)
0000:02:0e.1 USB Controller: NEC Corporation USB (rev 41)
0000:02:0e.2 USB Controller: NEC Corporation USB 2.0 (rev 02)
0000:03:00.0 Network controller: Intersil Corporation Intersil ISL3890 [Prism
GT/Prism Duette] (rev 01)
Subject: [PATCH] Remove suspend() calls from shutdown path
From: Benjamin Herrenschmidt <firstname.lastname@example.org>
To: Andrew Morton <email@example.com>
Cc: Linus Torvalds <firstname.lastname@example.org>,
Linux Kernel list <email@example.com>
Date: Thu, 04 Aug 2005 11:36:26 +0200
X-Mailer: Evolution 2.2.2
X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on barclay.balt.net
X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham
Hi Andrew !
This patch remove the calls to device_suspend() from the shutdown path
that were added sometime during 2.6.13-rc*. They aren't working properly
on a number of configs (I got reports from both ppc powerbook users and
x86 users) causing the system to not shutdown anymore.
I think it isn't the right approach at the moment anyway. We have
already a shutdown() callback for the drivers that actually care about
shutdown and the suspend() code isn't yet in a good enough shape to be
so much generalized. Also, the semantics of suspend and shutdown are
slightly different on a number of setups and the way this was patched in
provides little way for drivers to cleanly differenciate. It should have
been at least a different message.
For 2.6.13, I think we should revert to 2.6.12 behaviour and have a
working suspend back.
Signed-off-by: Benjamin Herrenschmidt <firstname.lastname@example.org>
--- linux-work.orig/kernel/sys.c 2005-08-01 14:03:46.000000000 +0200
+++ linux-work/kernel/sys.c 2005-08-04 11:32:51.000000000 +0200
@@ -404,7 +404,6 @@
notifier_call_chain(&reboot_notifier_list, SYS_HALT, NULL);
system_state = SYSTEM_HALT;
printk(KERN_EMERG "System halted.\n");
@@ -415,7 +414,6 @@
notifier_call_chain(&reboot_notifier_list, SYS_POWER_OFF, NULL);
system_state = SYSTEM_POWER_OFF;
printk(KERN_EMERG "Power down.\n");
More power management fixes will appear in 2.6.13-rc6. Fingers crossed,
we might get this working again. Please retest and let us know?
2.6.13-rc6 powers off just fine with or without USB devices connected to the
notebook. I consider bug as solved.
Shall I close it ?
Zilvinas said "Works for me now. I've tested with 2.6.13-rc6 a few hours
ok then -- shipped in 2.6.13-rc6 -- closing.