Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp1263719ybi; Fri, 14 Jun 2019 11:24:28 -0700 (PDT) X-Google-Smtp-Source: APXvYqyZsfSSb5rtaENouBV1O9LXxaq2e/QV0WzRewBX1N+fJS0uOo2/n5/ZwHYgpsFM2p7gcA4E X-Received: by 2002:a17:902:7083:: with SMTP id z3mr30027559plk.205.1560536668598; Fri, 14 Jun 2019 11:24:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560536668; cv=none; d=google.com; s=arc-20160816; b=f+x6mrfv3WLXhAQ+JAG7VGrQCzqNTyWCIAwALzwhqYc5Jbb5Tp2PkUnJYLsui0kzfS lPEjQe3W01VZUGAkQB/aXe2CLVqBsB/mN3BMv719cEv0Om3Kk4WhfUQFZHc6Xkg6ScyM Gxfbx7NsfGPF0XZv2ZLkH80DAdPcYIRPMmhDAy+FP+9rAoAXTWnksaqU4nVmnra0NSUZ KmNfKDMvEe3VA5HiN2r0RVQleTlmq14jVXzogXeE6s3YGq0IiNK0+wWXn+l45AZSw/8v yqAKkNCNZQfsmQVT9QZ6jYhJiyKDEuK/dQrWzXdA8fQQ/Zl3jTwLvzsxM7Q7I57BXkAG 6PyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=JgsixOY7DseFYD9NVhuWLlq7gswhsAh5xxa+izOpaUs=; b=0Pntqkw1jAupZYy99aSCvwNFtNI5rhE/rqSW3MT1EIDaPNDvYOZB48ndZMAqeYJ05/ Ljvir/0Ak2XVuKuhJr4Ypz7FypG8gsK/yv+Pko0ULtopIw5hUpTEUiuLm6mFW7Npq9rt 8iDKgpYSsV80AF4CYAKlCPQ/eJJZSoGGaRvFe6PleCMJsXvg5bPx018RbE4ILdeXb47R GzPVz3TXDqP2AZ9vcJVFzLrLRu/La+dlCi3kLalysBKoD/t1hN4QBEBp2CgUqkQH4pHp qfmcRgNg+uYiY6cxwnBsG7FwjX8i4FjoVoIGKu15zXXTR/S/JrdW9cTNXj5exIvlobE9 0L9A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=WPnWyA9d; 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=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d12si2930314pla.121.2019.06.14.11.24.13; Fri, 14 Jun 2019 11:24:28 -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=@chromium.org header.s=google header.b=WPnWyA9d; 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=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726278AbfFNSXo (ORCPT + 99 others); Fri, 14 Jun 2019 14:23:44 -0400 Received: from mail-qt1-f196.google.com ([209.85.160.196]:36616 "EHLO mail-qt1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725886AbfFNSXn (ORCPT ); Fri, 14 Jun 2019 14:23:43 -0400 Received: by mail-qt1-f196.google.com with SMTP id p15so3595743qtl.3 for ; Fri, 14 Jun 2019 11:23:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=JgsixOY7DseFYD9NVhuWLlq7gswhsAh5xxa+izOpaUs=; b=WPnWyA9duJs6z2zS0gnnr9yCluFRiF9wvX43AUxtxoHAHE1f6Z0gGOh3cIe44zhPeR iPlrHPLJUmlRAAVZV9OxdL5/p/dbkWYuhWrwW6plVsIYS1fkTN+0oa8FA1pXi+qw/iEY WFzUSnjxJbiyjgrGE8IeXP9n50e2WK+Sm0D50= 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; bh=JgsixOY7DseFYD9NVhuWLlq7gswhsAh5xxa+izOpaUs=; b=laPASwMaPGFJcBQx6+zA3VD1Kq+1JuYofAxsEdAC+tIgQ6exPHtIt7KGERDMOHMLid XxdeSpdctOEj9Xbk3oJNQG9Ku48vjprx2i3/KHRAwINorBRMgTTMzzZHaaZ+cYkqO5TU XBGF5R3tVJ5/ykgArx2JudDPWT5udPrCc5GswmYFVlHsAGMVqYvMFZPLGSl7QxpFqwNd zTeFKdIfyFWcwYXqNfJpAWIoklKfOwQZ3sMEeIVMpzfn/cRUiV2aZUWIEvUGV67Zhxbx hPPNKjxKm+V7c3jqZZF3VYqQromMxkG/xE0Iza5LcDJxX2Ycxf4wBfhBq6Cfuqy1ABh/ w8Aw== X-Gm-Message-State: APjAAAUPZKqMof/XSr2rHZ7Q5jUWKHH2opqRXR0jBRMRpwW4RxqqGgDh +aKiS0YN93oaKgEBir3PhD771dxc55lQKqwNBTV35Q== X-Received: by 2002:ac8:2f7b:: with SMTP id k56mr70825566qta.376.1560536622857; Fri, 14 Jun 2019 11:23:42 -0700 (PDT) MIME-Version: 1.0 References: <20190607003735.212291-1-ravisadineni@chromium.org> In-Reply-To: <20190607003735.212291-1-ravisadineni@chromium.org> From: Ravi Chandra Sadineni Date: Fri, 14 Jun 2019 11:23:31 -0700 Message-ID: Subject: Re: [PATCH] power: Do not clear events_check_enabled in pm_wakeup_pending() To: len.brown@intel.com, pavel@ucw.cz, gregkh@linuxfoundation.org, linux-pm@vger.kernel.org, linux-kernel , Todd Broch , Ravi Chandra Sadineni , Rajat Jain 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 Hi, Just wanted to check if this o.k. Thanks, Ravi On Thu, Jun 6, 2019 at 5:37 PM Ravi Chandra Sadineni wrote: > > events_check_enabled bool is set when wakeup_count sysfs attribute > is written. User level daemon is expected to write this attribute > just before suspend. > > When this boolean is set, calls to pm_wakeup_event() will result in > increment of per device and global wakeup count that helps in > identifying the wake source. global wakeup count is also used by > pm_wakeup_pending() to identify if there are any pending events that > should result in an suspend abort. > > Currently calls to pm_wakeup_pending() also clears events_check_enabled. > This can be a problem when there are multiple wake events or when the > suspend is aborted due to an interrupt on a shared interrupt line. > For example an Mfd device can create several platform devices which > might fetch the state on resume in the driver resume method and increment > the wakeup count if needed. But if events_check_enabled is cleared before > resume methods get to execute, wakeup count will not be incremented. Thus > let us not reset the bool here. > > Note that events_check_enabled is also cleared in suspend.c/enter_state() > on every resume at the end. > > Signed-off-by: Ravi Chandra Sadineni > --- > drivers/base/power/wakeup.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/drivers/base/power/wakeup.c b/drivers/base/power/wakeup.c > index 5b2b6a05a4f3..88aade871589 100644 > --- a/drivers/base/power/wakeup.c > +++ b/drivers/base/power/wakeup.c > @@ -838,7 +838,6 @@ bool pm_wakeup_pending(void) > > split_counters(&cnt, &inpr); > ret = (cnt != saved_count || inpr > 0); > - events_check_enabled = !ret; > } > raw_spin_unlock_irqrestore(&events_lock, flags); > > -- > 2.20.1 >