From patchwork Wed Jul 23 16:55:53 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Rafael J. Wysocki" X-Patchwork-Id: 4612071 X-Patchwork-Delegate: bhelgaas@google.com Return-Path: X-Original-To: patchwork-linux-pci@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id A251B9F2B8 for ; Wed, 23 Jul 2014 16:37:34 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id E580B201BA for ; Wed, 23 Jul 2014 16:37:33 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id AFDD5201BB for ; Wed, 23 Jul 2014 16:37:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757655AbaGWQh3 (ORCPT ); Wed, 23 Jul 2014 12:37:29 -0400 Received: from v094114.home.net.pl ([79.96.170.134]:52423 "HELO v094114.home.net.pl" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1756244AbaGWQh3 (ORCPT ); Wed, 23 Jul 2014 12:37:29 -0400 Received: from afnb207.neoplus.adsl.tpnet.pl [178.42.79.207] (HELO vostro.rjw.lan) by serwer1319399.home.pl [79.96.170.134] with SMTP (IdeaSmtpServer v0.80) id 2d46f4ede92c8854; Wed, 23 Jul 2014 18:37:27 +0200 From: "Rafael J. Wysocki" To: Peter Zijlstra Cc: Linux PM list , Linux PCI Subject: Re: [PATCH 0/3] ACPI / PM: Make ACPI-based PCI wakeup work for the "freeze" sleep state Date: Wed, 23 Jul 2014 18:55:53 +0200 Message-ID: <9451719.LAKB4xNqkA@vostro.rjw.lan> User-Agent: KMail/4.11.5 (Linux/3.16.0-rc5+; KDE/4.11.5; x86_64; ; ) In-Reply-To: <20140723120432.GU3935@laptop> References: <1907495.agrCMfRsQN@vostro.rjw.lan> <6491652.ycQtdn67HU@vostro.rjw.lan> <20140723120432.GU3935@laptop> MIME-Version: 1.0 Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP [Trimming CC list somewhat] On Wednesday, July 23, 2014 02:04:32 PM Peter Zijlstra wrote: > On Wed, Jul 23, 2014 at 02:17:55PM +0200, Rafael J. Wysocki wrote: > > > (also, patchwork blows chunks :/) > > > > That's never happened to me (and there's only one hunk in that patch). > > I meant that patchwork sucks :-) It hides the actual patch, I had to > download things in order to see the actual patch. Well, my experience is much better here, never mind. :-) > > Anyway, the count for 0000:00:01.0:pcie01 means that the wakeup source > > has been activated, so it should have woken it up in theory. > > > > Unless, of course, it was activated after the power button wakeup. > > Yeah, I was thikning that maybe it doesn't get through entirely but has > pending state and comes through once we press the power button. It looks like that's what happens. > > It looks like the stuff works on the hardware level, though, so we should be > > able to make the wakeup work too. I'll have another look later today. > > Thanks. OK, so I think that before going any deeper it's better to check if we don't leave anything obvious behind, so please see if this makes any difference (on top of the previous one): --- drivers/pci/pcie/pme.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Index: linux-pm/drivers/pci/pcie/pme.c =================================================================== --- linux-pm.orig/drivers/pci/pcie/pme.c +++ linux-pm/drivers/pci/pcie/pme.c @@ -364,7 +364,8 @@ static int pcie_pme_probe(struct pcie_de pcie_pme_interrupt_enable(port, false); pcie_clear_root_pme_status(port); - ret = request_irq(srv->irq, pcie_pme_irq, IRQF_SHARED, "PCIe PME", srv); + ret = request_irq(srv->irq, pcie_pme_irq, IRQF_SHARED | IRQF_NO_SUSPEND, + "PCIe PME", srv); if (ret) { kfree(data); } else {