Re: commit 9630bdd9 changes behavior of the poweroff - bug?

Rafael J. Wysocki
2010-04-12T21:58:55Z

On Saturday 10 April 2010, Rafael J. Wysocki wrote:
> On Friday 09 April 2010, Tony Vroon wrote:
> > On Fri, 2010-04-09 at 22:42 +0200, Rafael J. Wysocki wrote:
> > > Please check if the patch below changes anything.
> > > drivers/acpi/wakeup.c | 4 ++--
> > > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > That didn't change the behaviour for me, sorry.
>
> Well, I would be sorry if it did, because the patch removed some useful code. :-)
>
> > (I made sure to go through a full power down session before trying the
> > patched kernel)
>
> Thanks for testing. So it looks like we don't disable the GPE during power off.
>
> I'll try to figure out what's going on, please stay tuned.

Can you please check if the patch below changes the behavior?

Rafael

---
drivers/acpi/wakeup.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Index: linux-2.6/drivers/acpi/wakeup.c
===================================================================
--- linux-2.6.orig/drivers/acpi/wakeup.c
+++ linux-2.6/drivers/acpi/wakeup.c
@@ -63,17 +63,17 @@ void acpi_enable_wakeup_device(u8 sleep_
list_for_each_safe(node, next, &acpi_wakeup_device_list) {
struct acpi_device *dev =
container_of(node, struct acpi_device, wakeup_list);
+ u8 action = ACPI_GPE_ENABLE;

if (!dev->wakeup.flags.valid)
continue;

if ((!dev->wakeup.state.enabled && !dev->wakeup.prepare_count)
|| sleep_state > (u32) dev->wakeup.sleep_state)
- continue;
+ action = ACPI_GPE_DISABLE;

- /* The wake-up power should have been enabled already. */
acpi_set_gpe(dev->wakeup.gpe_device, dev->wakeup.gpe_number,
- ACPI_GPE_ENABLE);
+ action);
}
}