PCI/ASPM: Use correct capability pointer to program LTR_L1.2_THRESHOLD
authorBjorn Helgaas <bhelgaas@google.com>
Mon, 13 Nov 2017 21:05:50 +0000 (15:05 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 30 Nov 2017 08:40:41 +0000 (08:40 +0000)
commitd42e6a246cd75143e9133f740ac979011f81bc43
treed1a9b7df01139c6224bd9963d9ee5525c650f632
parent576bdf9642d97c8aafb0305960c00259d7438b06
PCI/ASPM: Use correct capability pointer to program LTR_L1.2_THRESHOLD

commit c00054f540bf81e592e1fee709b0bdbf20f478b5 upstream.

Previously we programmed the LTR_L1.2_THRESHOLD in the parent (upstream)
device using the capability pointer of the *child* (downstream) device,
which corrupted some random word of the parent's config space.

Use the parent's L1 SS capability pointer to program its
LTR_L1.2_THRESHOLD.

Fixes: aeda9adebab8 ("PCI/ASPM: Configure L1 substate settings")
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Vidya Sagar <vidyas@nvidia.com>
CC: Rajat Jain <rajatja@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/pci/pcie/aspm.c