Received: by 2002:a5b:505:0:0:0:0:0 with SMTP id o5csp5250676ybp; Mon, 14 Oct 2019 18:31:23 -0700 (PDT) X-Google-Smtp-Source: APXvYqwZzTMKQtlu0ZK0hhU2fdkf38mDKAectMcTIXYbAOgzNg2T74iMdy1pkn2Xj/F/qo2na6k4 X-Received: by 2002:a50:ab10:: with SMTP id s16mr30527671edc.118.1571103082867; Mon, 14 Oct 2019 18:31:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1571103082; cv=none; d=google.com; s=arc-20160816; b=kY6PwxlNibByq6mh9dk3YEmGBY9Au5tuvy2pjO3Ch8FDBnWEovxe//ZCDhII7ApMGH 7+ixFzIPqZv0MYU7ekP5AyHZ68PEn7jdIZXO3ev+aWK9xzbmjVapWglX3Ow/jNzYnYqc yWZYwF0YWzRRd60v9BHeknaAmT+IlVq2gJXguGxqjZk+ALm2+FSHiJXUK/1g54oAx2jb 0t//RcmwKumoQZghr0sxUUfUB6ZNNvphTaL4d0+CX/SeFdDH756Q86SbURVV0m6sdhcX ZwUqT5MewyDRgzYo6L9ePi/D+RhU6zXS9rqjq2WPQ2UK1URKJF34Mt4ecVpb4snghhsj tcSQ== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=/EDIdBfo957Q2HRw5DiH0ul5Bh+xMHf96lYTfvltBjY=; b=P9gk9XsJ4EVQvqT/GpgQZwvqL3Pg5EQT8+Jm7PGp2RujJOBejs2v2qHhmSZAKelz1X mRi8NW6t0xeoxJjH5pWYmZrOaywiu00dyedqHTO4R+IfheracL0vif13Nlssu9mUeUah XXsiWdYZ7cEYxoqZ5MX9zscfWdPN/opBGUYMFhNuJODCxXCHKBPQClEqLUX7MzkuB8/w GS3TQaH5L7brH3QUCStFOczmQvhdrMY/rzH9SH08l1dHQGo+maw8lfKAQpJz2WKt2W+J OPm4TXsbALTfSXNV5WjXtvNTpiA6DUJ23wAUVBgrCFlPgN0VpzrE6DQ3rzOB3kIYA15S rEng== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=zlZ+S4Y5; 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=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f33si11914935edb.281.2019.10.14.18.30.59; Mon, 14 Oct 2019 18:31:22 -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=@kernel.org header.s=default header.b=zlZ+S4Y5; 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=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726326AbfJNXB6 (ORCPT + 99 others); Mon, 14 Oct 2019 19:01:58 -0400 Received: from mail.kernel.org ([198.145.29.99]:52146 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726170AbfJNXB6 (ORCPT ); Mon, 14 Oct 2019 19:01:58 -0400 Received: from localhost (unknown [69.71.4.100]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 3FA70217F9; Mon, 14 Oct 2019 23:01:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1571094117; bh=XJ9gzZXljOyOpoX7//nZyyqSZxdlTYsADbIJ0lo74cY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=zlZ+S4Y50FGS7rQCh37WY6JT5AAWnarto+5ZyhMg0rCtK88tuAFMhI1+LyEMfxroI HzFghLMGQdXK7ovjm5IT2HGwNymfK/tFesR4viPZB+MDH5GR9bEf4cqCXz5Bfs304g AdPZps68jMhC4DUK1XV8dKj8wxUZXeSajQkboqNg= From: Bjorn Helgaas To: Dexuan Cui Cc: "Rafael J . Wysocki" , Lorenzo Pieralisi , Michael Kelley , Sasha Levin , Haiyang Zhang , KY Srinivasan , Stephen Hemminger , olaf@aepfle.de, apw@canonical.com, jasowang@redhat.com, vkuznets@redhat.com, marcelo.cerri@canonical.com, jackm@mellanox.com, linux-pci@vger.kernel.org, linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org, driverdev-devel@linuxdriverproject.org, Bjorn Helgaas Subject: [PATCH 3/7] PCI/PM: Clear PCIe PME Status even for legacy power management Date: Mon, 14 Oct 2019 18:00:12 -0500 Message-Id: <20191014230016.240912-4-helgaas@kernel.org> X-Mailer: git-send-email 2.23.0.700.g56cf767bdb-goog In-Reply-To: <20191014230016.240912-1-helgaas@kernel.org> References: <20191014230016.240912-1-helgaas@kernel.org> 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 From: Bjorn Helgaas Previously, pci_pm_resume_noirq() cleared the PME Status bit in the Root Status register only if the device had no driver or the driver did not implement legacy power management. It should clear PME Status regardless of what sort of power management the driver supports, so do this before checking for legacy power management. This affects Root Ports and Root Complex Event Collectors, for which the usual driver is the PCIe portdrv, which implements new power management, so this change is just on principle, not to fix any actual defects. Fixes: a39bd851dccf ("PCI/PM: Clear PCIe PME Status bit in core, not PCIe port driver") Signed-off-by: Bjorn Helgaas --- drivers/pci/pci-driver.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c index d4ac8ce8c1f9..0c3086793e4e 100644 --- a/drivers/pci/pci-driver.c +++ b/drivers/pci/pci-driver.c @@ -941,12 +941,11 @@ static int pci_pm_resume_noirq(struct device *dev) pci_pm_default_resume_early(pci_dev); pci_fixup_device(pci_fixup_resume_early, pci_dev); + pcie_pme_root_status_cleanup(pci_dev); if (pci_has_legacy_pm_support(pci_dev)) return pci_legacy_resume_early(dev); - pcie_pme_root_status_cleanup(pci_dev); - if (drv && drv->pm && drv->pm->resume_noirq) error = drv->pm->resume_noirq(dev); -- 2.23.0.700.g56cf767bdb-goog