Re: [Resend][PATCH] pciehp: always implement resume

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[fix Kristen's email addr]

On Fri, Sep 7, 2012 at 5:33 PM, Bjorn Helgaas <bhelgaas@xxxxxxxxxx> wrote:
> +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


[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux