PCI/ASPM: Deallocate upstream link state even if device is not PCIe
authorMyron Stowe <myron.stowe@redhat.com>
Thu, 31 Jan 2013 23:29:25 +0000 (16:29 -0700)
committerBjorn Helgaas <bhelgaas@google.com>
Fri, 1 Feb 2013 22:18:19 +0000 (15:18 -0700)
commit84fb913c43475e0d1e061220ef4622e3e82e91d6
tree0b39d29400055705017a38e14db85bfe1d1aa823
parentd1c3ed669a2d452cacfb48c2d171a1f364dae2ed
PCI/ASPM: Deallocate upstream link state even if device is not PCIe

On PCI bus hotplug removal, pcie_aspm_exit_link_state() can potentially
skip parent devices that have link_state allocated.  Instead of exiting
early if a given device is not PCIe, check whether or not the device's
parent has link_state allocated.  This enables pcie_aspm_exit_link_state()
to properly clean up parent link_state when the last function in a slot
might not be PCIe.

Reported-by: Joe Lawrence <joe.lawrence@stratus.com>
Tested-by: Joe Lawrence <joe.lawrence@stratus.com>
Signed-off-by: Myron Stowe <myron.stowe@redhat.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
drivers/pci/pcie/aspm.c