From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759234Ab2IGXdr (ORCPT ); Fri, 7 Sep 2012 19:33:47 -0400 Received: from mail-lpp01m010-f46.google.com ([209.85.215.46]:53671 "EHLO mail-lpp01m010-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755191Ab2IGXdp (ORCPT ); Fri, 7 Sep 2012 19:33:45 -0400 MIME-Version: 1.0 In-Reply-To: References: <201209072328.30553.rjw@sisk.pl> From: Bjorn Helgaas Date: Fri, 7 Sep 2012 16:33:22 -0700 Message-ID: Subject: Re: [Resend][PATCH] pciehp: always implement resume To: "Rafael J. Wysocki" Cc: LKML , Linux PM list , Greg Kroah-Hartman , Oliver Neukum , linux-pci@vger.kernel.org, Mark Lord , Kristen Carlson Accardi Content-Type: text/plain; charset=ISO-8859-1 X-System-Of-Record: true Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org +cc Mark & Kristen Commit cd2fe83a815 by Mark added the code we're changing here, so this is your chance to speak up if we're not doing the right thing :) On Fri, Sep 7, 2012 at 4:28 PM, Bjorn Helgaas wrote: > On Fri, Sep 7, 2012 at 2:28 PM, Rafael J. Wysocki wrote: >> From: Oliver Neukum >> Subject: pciehp: always implement resume >> >> The driver by default ignores resume. On some laptops >> that means that interrupts are not delivered after S3. >> So card removals and insertions will not be handled. Requiring >> a forced load isn't right. >> >> Signed-off-by: Oliver Neukum >> Signed-off-by: Rafael J. Wysocki > > I applied this (with fixed From: email address and slightly modified > changelog) to http://git.kernel.org/?p=linux/kernel/git/helgaas/pci.git;a=shortlog;h=refs/heads/pci/oliver-pciehp-resume > and will merge it to "next" after Fengguang's build/smoke tests. > > Thanks! > > Bjorn > >> --- >> drivers/pci/hotplug/pciehp_core.c | 28 ++++++++++++++-------------- >> drivers/pci/hotplug/pciehp_core.c | 28 ++++++++++++++-------------- >> 1 file changed, 14 insertions(+), 14 deletions(-) >> >> Index: linux/drivers/pci/hotplug/pciehp_core.c >> =================================================================== >> --- linux.orig/drivers/pci/hotplug/pciehp_core.c >> +++ linux/drivers/pci/hotplug/pciehp_core.c >> @@ -300,24 +300,24 @@ static int pciehp_suspend (struct pcie_d >> >> static int pciehp_resume (struct pcie_device *dev) >> { >> + struct controller *ctrl; >> + struct slot *slot; >> + u8 status; >> + >> dev_info(&dev->device, "%s ENTRY\n", __func__); >> - if (pciehp_force) { >> - struct controller *ctrl = get_service_data(dev); >> - struct slot *slot; >> - u8 status; >> + ctrl = get_service_data(dev); >> >> - /* reinitialize the chipset's event detection logic */ >> - pcie_enable_notification(ctrl); >> + /* reinitialize the chipset's event detection logic */ >> + pcie_enable_notification(ctrl); >> >> - slot = ctrl->slot; >> + slot = ctrl->slot; >> >> - /* Check if slot is occupied */ >> - pciehp_get_adapter_status(slot, &status); >> - if (status) >> - pciehp_enable_slot(slot); >> - else >> - pciehp_disable_slot(slot); >> - } >> + /* Check if slot is occupied */ >> + pciehp_get_adapter_status(slot, &status); >> + if (status) >> + pciehp_enable_slot(slot); >> + else >> + pciehp_disable_slot(slot); >> return 0; >> } >> #endif /* PM */