Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp8701548ybi; Thu, 6 Jun 2019 18:00:10 -0700 (PDT) X-Google-Smtp-Source: APXvYqwqWtpd4uMHPk9LVIP+PcgcitHnxKo80QRJHarHGjU0oatMu2O9+F3xKPQUa/KUGiUeab9P X-Received: by 2002:a17:90a:65c2:: with SMTP id i2mr2615806pjs.54.1559869210721; Thu, 06 Jun 2019 18:00:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1559869210; cv=none; d=google.com; s=arc-20160816; b=qr2qbxqRqP1Rk8LIsLv0WOl5h5ypvDJCtQA2yn4faMtgkjP7pFbeJ7DbU5On2HsHLH rZBFL/WnfVkgVUBgcRdeuBrxNBA0lIQThd96chp9aRAKHLlhiVNKOJ7nSJmWS+uhMQUP /rG/qnJCT5Ky7n55TK6FIXuu5XxCgoUSgK8kWFqP7Q9i3bueXt9ZGuOFQCly4m8u+iIq A30I4c8CuIeX2jN7GUxp0ZOdRCXnqxwR3oDtes/M8wAoIDC8uO66eteZYCDEhVH2uTTj 3nZMQ2X5aR1USidEIO42RI7JMVhKE19Eiem3nxjpASY3QAlwoOUeqgUPX0x8wI33GmpA nT5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:to:from:dkim-signature; bh=JPh979OTEDBlqzDsha7tZRbPvm/W8T1Wq4fFMxgOKCw=; b=zMdHSuSNcY8Sx6MpH2Dfi+2Ah2K8QPxHqbACquJ7z5/IbhAiKGfqjkjnL4zc6Rui9l H3pBtjXzbQHWRmqxl4LrJUhKrjecqqimt4MI6vQOKTr4jNDyS9XWx1oYpcnWX7Po/+O/ wYfUHhTZRaPNqMzY1L4vq+UCiYSbshqEzpj1VCyaxUBSGOw2G+KhGyS4jxixu7W5Ejrm Q9CF+PpkKBstxB8bqdE1hLf42CK2poGBJv9cpqDA4koyjwS/Iq/I8tB5YZ4zUakOkGtU 68LvQ1GJibz2dLvmUmklZCRyYvVOnoHMwMSUjChyHTwTRXWnr6F9Q7TRJps04xM/vzsX c0vg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=WnIK3WDS; 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 r3si454003pjd.83.2019.06.06.17.59.54; Thu, 06 Jun 2019 18:00:10 -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=WnIK3WDS; 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 S1728380AbfFGAhm (ORCPT + 99 others); Thu, 6 Jun 2019 20:37:42 -0400 Received: from mail-pl1-f195.google.com ([209.85.214.195]:46078 "EHLO mail-pl1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726671AbfFGAhm (ORCPT ); Thu, 6 Jun 2019 20:37:42 -0400 Received: by mail-pl1-f195.google.com with SMTP id x7so100616plr.12 for ; Thu, 06 Jun 2019 17:37:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=JPh979OTEDBlqzDsha7tZRbPvm/W8T1Wq4fFMxgOKCw=; b=WnIK3WDSj+tNSnPRX1JFAN3QoQrVIpqZZsgUtiajYmMztmzHkO161AaxUs1TW99jlv B4p+oHV5G4TuDRgnmMc5qeUM3pEKKUGGHdc5k+5iCA+BHLnMwWYBU29S0XNzUDdqvtK8 XoD8Iy7v8rvqw+ZRgtCY5DSxhPayYWddkhcvU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=JPh979OTEDBlqzDsha7tZRbPvm/W8T1Wq4fFMxgOKCw=; b=YLYYtslsN09p5ql01ic/XtSUj0EXiPUpNrcOCmuacXypFIsteIWM6ylts/A3ExKc+m aFobHkjATPVH6Q6PMsLSllhvCVvKys0osbbeCbgIuc6VpZTG1/HWlzoJxnGrpptHc4k0 LLfyYzna0EliDzA7chLk2QAeqPnNwvt655LVY0xwoqNCjB3K6yVUVN9aSYtGGcL5oUSW dCVORCpWWCdw+C5TK233kQDcoh5XCuBjYR9hLrZXQa4SmoR8afnEVMHsiUCL8W277JEX Bu1yT1j8TqcPzj97Ds6EhsxsOMSrrBhOuR4n64HUKMKiYOPaJZezbAjxnaRbgmrKa5K5 7j1Q== X-Gm-Message-State: APjAAAVNZT/cnaG3lKGAFrkdBfOigxHwHhlEOlMBvu7eYUd9wgiqV/Ub QDleiexz3n3f3tQF/F8cP19l9g== X-Received: by 2002:a17:902:e2:: with SMTP id a89mr53481733pla.210.1559867861536; Thu, 06 Jun 2019 17:37:41 -0700 (PDT) Received: from ravisadineni0.mtv.corp.google.com ([2620:15c:202:1:98d2:1663:78dd:3593]) by smtp.gmail.com with ESMTPSA id s1sm283209pgp.94.2019.06.06.17.37.40 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 06 Jun 2019 17:37:41 -0700 (PDT) From: Ravi Chandra Sadineni To: len.brown@intel.com, pavel@ucw.cz, gregkh@linuxfoundation.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, tbroch@google.com, ravisadineni@chromium.org, rajatja@google.com Subject: [PATCH] power: Do not clear events_check_enabled in pm_wakeup_pending() Date: Thu, 6 Jun 2019 17:37:35 -0700 Message-Id: <20190607003735.212291-1-ravisadineni@chromium.org> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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