From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: Re: [REGRESSION 4.17] Spurious wakeup / reboot with power button Date: Fri, 06 Jul 2018 14:27:04 +0200 Message-ID: References: <7049b672-859c-e049-a391-f66e4336d4a9@cosifan.de> <1704080.gFTvVrrZA1@aspire.rjw.lan> Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Return-path: In-Reply-To: <1704080.gFTvVrrZA1@aspire.rjw.lan> Sender: linux-kernel-owner@vger.kernel.org To: "Rafael J. Wysocki" Cc: Thomas =?UTF-8?B?SMOkbmln?= , Erik Schmauss , Linux PM , Linux Kernel Mailing List , Linux ACPI List-Id: linux-pm@vger.kernel.org On Fri, 06 Jul 2018 14:13:04 +0200, Rafael J. Wysocki wrote: > > On Friday, July 6, 2018 1:21:50 PM CEST Rafael J. Wysocki wrote: > > On Fri, Jul 6, 2018 at 1:12 PM, Thomas Hänig wrote: > > [cut] > > > So the latest patch: > > > > https://patchwork.kernel.org/patch/10511211/ > > > > should work for you (please verify) and the change in > > drivers/acpi/sleep.c in it most likely is not necessary. > > > > If you can confirm that this one works for you, I'll send a smaller > > one with the acpi_hw_legacy_sleep() part alone. > > Well, scratch this, sorry. > > The power button probably is a fixed event and it won't be effected by > that patch. > > Instead, please test the patch below. FWIW, the test kernel on OBS home:tiwai:bsc1099930-3 was refreshed with this one. The release number will be *.g2351e2d. Takashi > > --- > drivers/acpi/acpica/hwsleep.c | 15 +++++++++++---- > 1 file changed, 11 insertions(+), 4 deletions(-) > > Index: linux-pm/drivers/acpi/acpica/hwsleep.c > =================================================================== > --- linux-pm.orig/drivers/acpi/acpica/hwsleep.c > +++ linux-pm/drivers/acpi/acpica/hwsleep.c > @@ -51,16 +51,23 @@ acpi_status acpi_hw_legacy_sleep(u8 slee > return_ACPI_STATUS(status); > } > > - /* > - * 1) Disable all GPEs > - * 2) Enable all wakeup GPEs > - */ > + /* Disable all GPEs */ > status = acpi_hw_disable_all_gpes(); > if (ACPI_FAILURE(status)) { > return_ACPI_STATUS(status); > } > + /* > + * If the target sleep state is S5, clear all GPEs and fixed events too > + */ > + if (sleep_state == ACPI_STATE_S5) { > + status = acpi_hw_clear_acpi_status(); > + if (ACPI_FAILURE(status)) { > + return_ACPI_STATUS(status); > + } > + } > acpi_gbl_system_awake_and_running = FALSE; > > + /* Enable all wakeup GPEs */ > status = acpi_hw_enable_all_wakeup_gpes(); > if (ACPI_FAILURE(status)) { > return_ACPI_STATUS(status); >