|
@@ -280,6 +280,14 @@ int pciehp_check_link_status(struct controller *ctrl)
|
|
|
else
|
|
|
msleep(1000);
|
|
|
|
|
|
+ /*
|
|
|
+ * Need to wait for 1000 ms after Data Link Layer Link Active
|
|
|
+ * (DLLLA) bit reads 1b before sending configuration request.
|
|
|
+ * We need it before checking Link Training (LT) bit becuase
|
|
|
+ * LT is still set even after DLLLA bit is set on some platform.
|
|
|
+ */
|
|
|
+ msleep(1000);
|
|
|
+
|
|
|
retval = pciehp_readw(ctrl, PCI_EXP_LNKSTA, &lnk_status);
|
|
|
if (retval) {
|
|
|
ctrl_err(ctrl, "Cannot read LNKSTATUS register\n");
|