Messages in this thread Patch in this message | | | From | Sanjay R Mehta <> | Subject | [PATCH v2] pciehp: Add check for DL_ACTIVE bit in pciehp_check_link_status() | Date | Mon, 19 Oct 2020 13:46:11 -0500 |
| |
From: Sanjay R Mehta <sanju.mehta@amd.com>
if DL_ACTIVE bit is set it means that there is no need to check PCI_EXP_LNKSTA_LT bit, as DL_ACTIVE would have set only if the link is already trained. Hence adding a check which takes care of this scenario.
Signed-off-by: Sanjay R Mehta <sanju.mehta@amd.com> --- drivers/pci/hotplug/pciehp_hpc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/pci/hotplug/pciehp_hpc.c b/drivers/pci/hotplug/pciehp_hpc.c index 53433b37e181..8ab2f6a2f388 100644 --- a/drivers/pci/hotplug/pciehp_hpc.c +++ b/drivers/pci/hotplug/pciehp_hpc.c @@ -309,7 +309,8 @@ int pciehp_check_link_status(struct controller *ctrl) pcie_capability_read_word(pdev, PCI_EXP_LNKSTA, &lnk_status); ctrl_dbg(ctrl, "%s: lnk_status = %x\n", __func__, lnk_status); - if ((lnk_status & PCI_EXP_LNKSTA_LT) || + if (((lnk_status & PCI_EXP_LNKSTA_LT) && + !(lnk_status & PCI_EXP_LNKSTA_DLLLA)) || !(lnk_status & PCI_EXP_LNKSTA_NLW)) { ctrl_err(ctrl, "link training error: status %#06x\n", lnk_status); -- 2.25.1
| |