Bug 4992
Summary: | Power off stops | ||
---|---|---|---|
Product: | ACPI | Reporter: | zilvinas |
Component: | Power-Off | Assignee: | Alexey Starikovskiy (astarikovskiy) |
Status: | CLOSED CODE_FIX | ||
Severity: | high | CC: | ted |
Priority: | P2 | ||
Hardware: | i386 | ||
OS: | Linux | ||
Kernel Version: | 2.6.13-rc5 | Subsystem: | |
Regression: | --- | Bisected commit-id: |
Description
zilvinas
2005-08-03 09:41:45 UTC
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. |