Bug 2005
Summary: | Processor LOCKUP/oops on SMP poweroff - Shuttle SB61G2 | ||
---|---|---|---|
Product: | ACPI | Reporter: | Tom Epperly (tomepperly) |
Component: | Power-Off | Assignee: | Len Brown (lenb) |
Status: | REJECTED DUPLICATE | ||
Severity: | normal | CC: | acpi-bugzilla |
Priority: | P2 | ||
Hardware: | i386 | ||
OS: | Linux | ||
Kernel Version: | 2.4.24 with cryptoloop patch | Subsystem: | |
Regression: | --- | Bisected commit-id: | |
Attachments: | Adaptation of a 2.6.3 patch from bug 1141 (a real kernel programmer should check this out before others use it) |
Description
Tom Epperly
2004-02-03 08:33:57 UTC
I found two patches in bug 1141. The first, http://bugme.osdl.org/attachment.cgi?id=723&action=view, applies to a 2.4 kernel and results in a compilation error: faerun:/usr/src/linux-2.4.25-smp# patch -p1 --verbose < ../poweroff_patch_24.txt Hmm... Looks like a unified diff to me... The text leading up to this was: -------------------------- |--- last.2.4/drivers/acpi/hardware/hwsleep.c.orig 2003-06-17 07:56:32.000000000 +0800 |+++ last.2.4/drivers/acpi/hardware/hwsleep.c 2003-08-25 17:14:38.000000000 +0800 -------------------------- Patching file drivers/acpi/hardware/hwsleep.c using Plan A... Hunk #1 succeeded at 211 (offset 7 lines). Hunk #2 succeeded at 301 (offset 13 lines). Hunk #3 succeeded at 431 with fuzz 2 (offset 132 lines). done faerun:/usr/src/linux-2.4.25-smp# make bzImage make[4]: Entering directory `/usr/src/linux-2.4.25-smp/drivers/acpi/hardware' gcc -D__KERNEL__ -I/usr/src/linux-2.4.25-smp/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i686 -Os -nostdinc -iwithprefix include -DKBUILD_BASENAME=hwsleep -c -o hwsleep.o hwsleep.c hwsleep.c: In function `acpi_enter_sleep_state': hwsleep.c:214: warning: unused variable `PM1control' hwsleep.c:304: warning: label `re_write' defined but not used hwsleep.c: In function `acpi_leave_sleep_state': hwsleep.c:434: error: `PM1control' undeclared (first use in this function) hwsleep.c:434: error: (Each undeclared identifier is reported only once hwsleep.c:434: error: for each function it appears in.) hwsleep.c:439: error: label `re_write' used but not defined make[4]: *** [hwsleep.o] Error 1 make[4]: Leaving directory `/usr/src/linux-2.4.25-smp/drivers/acpi/hardware' make[3]: *** [first_rule] Error 2 The second, http://bugme.osdl.org/attachment.cgi?id=2265&action=view, applies to 2.6.3, and I'm running 2.4.25. I tried adapting the 2.6.3 patch to 2.4.25. I will attach the patch if it seems to work. Created attachment 2289 [details] Adaptation of a 2.6.3 patch from bug 1141 (a real kernel programmer should check this out before others use it) I tried applying the 2.6.3 patch to linux-2.4.25/drivers/acpi/system.c I had to change the call to set_cpus_allowed. I wasn't sure if I should use "1UL" (i.e., iUL << 0) or "1UL << cpu_logical_map(0)" as the second argument. I am not a kernel programmer, so this patch maybe totally bogus. I am running it now, and the system powers down (no oopses yet). Your mileage may vary. Ever since I applied the "Adaptation of a 2.6.3 patch from bug 1141" to my 2.4 kernel, it's powered off without fail. Thanks for the fix. Will someone review this and submit it to 2.4? |