[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAErSpo7-6PEEt+pDV-XRrfHVKDuw+_CbtKK-fEguyGhd_qapdw@mail.gmail.com>
Date: Fri, 7 Sep 2012 16:28:33 -0700
From: Bjorn Helgaas <bhelgaas@...gle.com>
To: "Rafael J. Wysocki" <rjw@...k.pl>
Cc: LKML <linux-kernel@...r.kernel.org>,
Linux PM list <linux-pm@...r.kernel.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Oliver Neukum <oliver@...kum.org>, linux-pci@...r.kernel.org
Subject: Re: [Resend][PATCH] pciehp: always implement resume
On Fri, Sep 7, 2012 at 2:28 PM, Rafael J. Wysocki <rjw@...k.pl> wrote:
> From: Oliver Neukum <oliver@...kum.org>
> 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@...e.de>
> Signed-off-by: Rafael J. Wysocki <rjw@...k.pl>
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-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists