Re: pciehp is broken from 4.10-rc1

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

 



[cc += Mika]

On Thu, Feb 02, 2017 at 08:11:48PM -0800, Yinghai Lu wrote:
> 4.9 is  working,
[...]
> sca05-0a81e0db:~ # echo 1 > /sys/bus/pci/slots/8/power
> [  175.771846] pciehp 0000:60:03.2:pcie004: Slot(8): Link Up
> [  175.777898] pciehp 0000:60:03.2:pcie004: Slot(8): Link Up event
> ignored; already powering on
> [  175.956632] pci 0000:65:00.0: [15b3:1003] type 00 class 0x0c0600
[...]
> sca05-0a81e0db:~ # echo 1 > /sys/bus/pci/slots/8/power
> [  221.041664] pciehp 0000:60:03.2:pcie004: Slot(8): Already enabled

Could you check if the port above 0000:60:03.2 is runtime suspended
when you're trying this, i.e. does its power/runtime_status entry in
sysfs say "suspended"?

Normally the hotplug slot should keep its parents awake so that config
space accesses work.  And the hotplug port's config space should be
accessible in D3 per the spec.

If you add pm_runtime_get_sync(&ctrl->pcie->port->dev) in
drivers/pci/pciehp_ctrl.c:pciehp_enable_slot() before the call to
pciehp_get_power_status(), and a corresponding pm_runtime_put()
afterwards, does the issue go away?

Thanks,

Lukas



[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