Distribution: Debian/Unstable Hardware Environment: Compaq EVO 800N Notebook, with ATI Technologies Inc Radeon Mobility M7, RAM: 512MB Software Environment: 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 binutils 2.16.1 util-linux 2.12p mount 2.12p module-init-tools 3.2-pre1 e2fsprogs 1.38 reiserfsprogs 3.6.19 reiser4progs line xfsprogs 2.6.36 pcmcia-cs 3.2.5 nfs-utils 1.0.7 Linux C Library 2.3.2 Dynamic linker (ldd) 2.3.2 Procps 3.2.5 Net-tools 1.60 Console-tools 0.2.3 Sh-utils 5.2.1 udev 064 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 Problem Description: 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: # halt
100% reproduceable.
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. Thanks.
Len Brown: 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).
Andrew Morton: 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 ACPI.
Andrew, perhaps this will shed some light what is happening. I've tried compiled kernel from Linus' git repository. Last commit 'git log' is : commit d95a1b4818f2fe38a3cfc9a7d5817dc9a1a69329 Merge: 194d0710e1a7fe92dcf860ddd31fded8c3103b7a 8066eff0a1a0703ad901dbe5646a47dbfc089ef2 Author: Linus Torvalds <torvalds@g5.osdl.org> 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: hcd_submit_urb wait_for_completion default_wake_function usb_start_wait_urb timeout_kill usb_internal_control_msg usb_control_msg hub_port_suspend __usb_suspend_device locktree usb_suspend_device __link_walk_path device_suspend ohci_reboot generic_ide_ioctl activate_task __group_send_sig_info sys_kill block_ioctl block_ioctl do_ioctl vfs_ioctl get_name sys_ioctl sys_enter_esp 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.
Andrew, 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. Report: 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. $ lspci 0000:00:00.0 Host bridge: Intel Corp. 82845 845 (Brookdale) Chipset Host Bridge (rev 04) 0000:00:01.0 PCI bridge: Intel Corp. 82845 845 (Brookdale) Chipset AGP Bridge (rev 04) 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 <benh@kernel.crashing.org> To: Andrew Morton <akpm@osdl.org> Cc: Linus Torvalds <torvalds@osdl.org>, Linux Kernel list <linux-kernel@vger.kernel.org> Content-Type: text/plain Date: Thu, 04 Aug 2005 11:36:26 +0200 Message-Id: <1123148187.30257.55.camel@gaston> Mime-Version: 1.0 X-Mailer: Evolution 2.2.2 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on barclay.balt.net X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.0.3 Status: RO Content-Length: 1845 Lines: 47 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 <benh@kernel.crashing.org> Index: linux-work/kernel/sys.c =================================================================== --- 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; - device_suspend(PMSG_SUSPEND); device_shutdown(); printk(KERN_EMERG "System halted.\n"); machine_halt(); @@ -415,7 +414,6 @@ { notifier_call_chain(&reboot_notifier_list, SYS_POWER_OFF, NULL); system_state = SYSTEM_POWER_OFF; - device_suspend(PMSG_SUSPEND); device_shutdown(); printk(KERN_EMERG "Power down.\n"); machine_power_off();
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?
Hello all, 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 again."
ok then -- shipped in 2.6.13-rc6 -- closing.