Received: by 2002:ac0:bc90:0:0:0:0:0 with SMTP id a16csp125699img; Wed, 20 Mar 2019 15:47:18 -0700 (PDT) X-Google-Smtp-Source: APXvYqzCCx5RdBVM5yUCQIKNVrPQG7YTpXkF3jE8vZ8CdaQTdbSf7YU5Fi096e3Jrkn7JC4dRZbp X-Received: by 2002:a17:902:7103:: with SMTP id a3mr246169pll.214.1553122038596; Wed, 20 Mar 2019 15:47:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553122038; cv=none; d=google.com; s=arc-20160816; b=nqJNyxXaD6U/XNp/9WfDe+MMSP8Y4DSE1pEatWfo4FNpKx/HR0r2/p1vZXTfGd1xdY CG/CSWWZJm9ZhSQh9XGgF5gLATaB/uF0VQdnCcV4IXb9kKNZQTveB2btwgSutm2zpMaY +wLMKHB+RvSm06obs/sH83cGMqmY3wSmaCsfJ16ZW3ozMQDYImc7gYAWk98Uztzyah9h 8RkCJWRP7Ha2aQEll2DdCj9UYGw2sHcCep0Z/6Qf3gLK394egp4ayBY+xHU+Fi8T9MwK bW6NyGlQ6Lvv6rT6hXOoIkdiEiejh0V6gP/qPpyB1qBfgs3FLmTX8Tm3reNS9q3ISSyY q0yA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=Pn/8P/PhErHRCIWKASPNB1+LPO19O+yI82+Xr6/z+BM=; b=DD2n60aFkk4ZLnikE4VnKSqmzM788ew5yU6IV8IaIx0W5LMsSsJ+dPXF9dQwLp1XAs 3ZdLQB62nSy2fQXzpDQ/Jp5dw1IORd0dV5RRZt2HoX3pvTBcMMdxGEDqiV47szgv+pZ0 522A04XuRJDYhHEm/a0ZyLIxsqZcEy8OxgmZeQpsbh4zh6fzit0sd7+/zeYASwbgakWd Cds3C8deJ+UA0Nvzv5S7lcFFJCDTFancpih1RtGpFlBAZBTNtQK4a6mbc1lL4Sd+zkPV otNgJvpSm9oG8sH5QRAy5UhikMFIwkqGuI/GdIJHpBA3I40fTA1Hh8FAdaU26n4mHygh iTCQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=ORLJ0Vg7; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t20si2721119pgv.550.2019.03.20.15.47.03; Wed, 20 Mar 2019 15:47:18 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=ORLJ0Vg7; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727714AbfCTWpF (ORCPT + 99 others); Wed, 20 Mar 2019 18:45:05 -0400 Received: from mail-io1-f67.google.com ([209.85.166.67]:38142 "EHLO mail-io1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727597AbfCTWpF (ORCPT ); Wed, 20 Mar 2019 18:45:05 -0400 Received: by mail-io1-f67.google.com with SMTP id v4so3643589ioj.5 for ; Wed, 20 Mar 2019 15:45:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Pn/8P/PhErHRCIWKASPNB1+LPO19O+yI82+Xr6/z+BM=; b=ORLJ0Vg7Hu/oV6uzyAOhE6J9gbM9y7NrpZoX4bakOIXxECGyNue+IPGsgxKUHEdQrL oBfVOR+bK4nxSFpo+qRsiVmktDT6qP8PVDp0vO+HFP2t5VkuluxfdthY/Pax/eoYZI+m ZLIwTXRGZ3xziHOH2JbpUG677qM6KMnH6tH09YnSrQUcJxwaQ75ySJ2+Iv8cUqnZHK1y WSO3OHL9slLquaPSTSGTTvwPOb+Vox2ZLW14FvEfB2ZAMeb+2rFSItS+OBG3DIELMABs AqbbzVlABXB37iKzzD63sngPl4ePRyY+QsrQgquD4oPo4O+rO/B496rcVDKqHsL5Mh6C F/yw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Pn/8P/PhErHRCIWKASPNB1+LPO19O+yI82+Xr6/z+BM=; b=OGO60qnR+yNTHSQhgmJ7NVdQmF99uv6bQ8OAJshEPvCOstewKADperJZa+qOnpDyUK /x/FFII9xbgp0dJ1P1lb1YA87AHNS9LdKDqp8NDvRqySBjj1FB7f53skZ4FGe3VGq8w5 CnStqjuPJprBTp8tbuGhQBPomhgONiW57TquzCpcrFgfbyG+zLPZClPHrstWmc91Mvy9 WEYg0WwUlcNx/a8vlunQx6mik/Sa3shWIf4BxCDepXQlFG1ueqUsougLdVlITlEo6jLB XI2dawqXHSpyHHaOxGpWoHStIxeOqlm+h3UJE8OMQFYgvsarJvkujnF/0ZbisLB8oNOA hzTA== X-Gm-Message-State: APjAAAWDbSocL7ArAQiQTLOCd1tmmLGv2375RyYsZ3HNHdQVbTExh4FR puKP4O6hQGRAWAb+XV9voZlCaEWY07jlNTHJNcOKbw== X-Received: by 2002:a5d:984b:: with SMTP id p11mr416094ios.269.1553121903765; Wed, 20 Mar 2019 15:45:03 -0700 (PDT) MIME-Version: 1.0 References: <20190320222844.134765-1-furquan@google.com> In-Reply-To: <20190320222844.134765-1-furquan@google.com> From: Furquan Shaikh Date: Wed, 20 Mar 2019 16:44:52 -0600 Message-ID: Subject: Re: [PATCH] drivers/acpi: Clear status of an event before enabling it To: robert.moore@intel.com, erik.schmauss@intel.com, rafael.j.wysocki@intel.com, Len Brown , ACPI Devel Maling List , devel@acpica.org, Linux Kernel Mailing List , lv.zheng@intel.com, ericbakuladavis@gmail.com, mika.westerberg@linux.intel.com Cc: Rajat Jain , Evan Green , Duncan Laurie Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Adding authors of the original commit whom I failed to copy in the original patch. On Wed, Mar 20, 2019 at 4:34 PM Furquan Shaikh wrote: > > Commit 18996f2db918 ("ACPICA: Events: Stop unconditionally > clearing ACPI IRQs during suspend/resume") was added to stop clearing > of event status bits unconditionally on suspend and resume paths. This > was done because of an issue > reported (https://bugzilla.kernel.org/show_bug.cgi?id=196249) where > lid status stays closed even on resume (which happens because event > status bits are cleared unconditionally on resume). Though this change > fixed the issue on suspend path, it introduced regressions on several > resume paths. > > First regression was reported and fixed on S5 path by the following > change: commit fa85015c0d95 ("ACPICA: Clear status of all events when > entering S5"). Next regression was reported and fixed on all legacy > sleep paths by the commit f317c7dc12b7 ("ACPICA: Clear status of all > events when entering sleep states"). However, regression still exists > on S0ix sleep path since it does not follow the legacy sleep path. > > In case of S0ix, events are enabled as part of device suspend path. If > status bits for the events are set when they are enabled, it could > result in premature wake from S0ix. This change ensures that status is > cleared for any event that is being enabled so that any stale events > are cleared out. > > Signed-off-by: Furquan Shaikh > --- > drivers/acpi/acpica/evgpe.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/drivers/acpi/acpica/evgpe.c b/drivers/acpi/acpica/evgpe.c > index 62d3aa74277b4..61455ab42fc87 100644 > --- a/drivers/acpi/acpica/evgpe.c > +++ b/drivers/acpi/acpica/evgpe.c > @@ -81,8 +81,12 @@ acpi_status acpi_ev_enable_gpe(struct acpi_gpe_event_info *gpe_event_info) > > ACPI_FUNCTION_TRACE(ev_enable_gpe); > > - /* Enable the requested GPE */ > + /* Clear the GPE (of stale events) */ > + status = acpi_hw_clear_gpe(gpe_event_info); > + if (ACPI_FAILURE(status)) > + return_ACPI_STATUS(status); > > + /* Enable the requested GPE */ > status = acpi_hw_low_set_gpe(gpe_event_info, ACPI_GPE_ENABLE); > return_ACPI_STATUS(status); > } > -- > 2.21.0.225.g810b269d1ac-goog >