+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 <bhelgaas@xxxxxxxxxx> wrote: > On Fri, Sep 7, 2012 at 2:28 PM, Rafael J. Wysocki <rjw@xxxxxxx> wrote: >> From: Oliver Neukum <oliver@xxxxxxxxxx> >> 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 <oneukum@xxxxxxx> >> Signed-off-by: Rafael J. Wysocki <rjw@xxxxxxx> > > 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 */ -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html