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

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

 



+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