Re: Linux 2.4.22-pre4

From: Willy Tarreau (willy@w.ods.org)
Date: Thu Jul 10 2003 - 02:58:50 EST


Hi !

On Thu, Jul 10, 2003 at 07:23:32AM +0200, Aschwin Marsman wrote:
> On Wed, 9 Jul 2003, Marcelo Tosatti wrote:
>
> > Hi,
> >
> > Here goes -pre4. It contains a lot of updates and fixes.
> >
> > We decided to include this new code quota code which allows usage of
> > quotas with 32bit UID/GIDs.
> >
> > Most Toshibas should work now due to an important ACPI fix.
> >
> > Please help and test.
>
> I use -pre3 with succes, only power down is currently not working
> (only the discs shutdown, no real poweroff). That's why I disabled
> apm and enabled apm in the kernel with -pre4, but that gives:

I remember having had problems with ACPI because my power off didn't work.
After reading through the code, I noticed that due to erroneous comparisons,
some code path would never be executed, and/or some preparatory work before
entering S5 would be done twice, or could not recover from error, I don't
recall exactly. So I sent the two patches below to the acpi-devel list twice,
but never got any reply.

I don't even know if they still apply, but you can try them anyway, they're
simple.

If I recall correctly, the first one should be enough to poweroff with a simple
"echo 5 > /proc/acpi/sleep", while the second one allows the system to use this
for poweroff.

Cheers,
Willy

--- ./drivers/acpi/system.c-orig Tue Apr 29 17:39:34 2003
+++ ./drivers/acpi/system.c Tue Apr 29 19:08:09 2003
@@ -180,7 +180,7 @@
                         return AE_ERROR;
         }
 
- if (state < ACPI_STATE_S5) {
+ if (state <= ACPI_STATE_S5) {
                 /* Tell devices to stop I/O and actually save their state.
                  * It is theoretically possible that something could fail,
                  * so handle that gracefully..
@@ -277,6 +277,7 @@
 
         switch (state) {
         case ACPI_STATE_S1:
+ case ACPI_STATE_S5:
                 barrier();
                 status = acpi_enter_sleep_state(state);
                 break;

--- ./drivers/acpi/system.c-orig Tue Apr 29 19:09:19 2003
+++ ./drivers/acpi/system.c Tue Apr 29 19:36:08 2003
@@ -90,9 +90,7 @@
 static void
 acpi_power_off (void)
 {
- acpi_enter_sleep_state_prep(ACPI_STATE_S5);
- ACPI_DISABLE_IRQS();
- acpi_enter_sleep_state(ACPI_STATE_S5);
+ acpi_suspend(ACPI_STATE_S5);
 }
 
 #endif /*CONFIG_PM*/

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue Jul 15 2003 - 22:00:34 EST