Skip to contentSkip to conversation

tsec: fix link detection for the RTL8211B PHY

PATCH New Anton Vorontsov 3 participants 3 messages Mar 14, 2008 – Mar 26, 2008 Network drivers

lore
Share & tools
lore
#0 lore raw

PATCH 7/7 tsec: fix link detection for the RTL8211B PHY

RTL8211B sets link state register after autonegotiation complete, so with bootdelay=0 RTL8211B will report lack of the link.

To fix this, we should wait for aneg to complete, even if the link is currently down.

---
 drivers/net/tsec.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
drivers/net/tsec.c +3 -2
index e91d9ea..431a8d2 100644
@@ -583,10 +583,11 @@ uint mii_parse_RTL8211B_sr(uint mii_reg, struct tsec_private * priv)
 	uint speed;
 
 	mii_reg = read_phy_reg(priv, MIIM_RTL8211B_PHY_STATUS);
-	if ((mii_reg & MIIM_RTL8211B_PHYSTAT_LINK) &&
-		!(mii_reg & MIIM_RTL8211B_PHYSTAT_SPDDONE)) {
+	if (!(mii_reg & MIIM_RTL8211B_PHYSTAT_SPDDONE)) {
 		int i = 0;
 
+		/* in case of timeout ->link is cleared */
+		priv->link = 1;
 		puts("Waiting for PHY realtime link");
 		while (!(mii_reg & MIIM_RTL8211B_PHYSTAT_SPDDONE)) {
 			/* Timeout reached ? */
Signature · 1 line
1.5.2.2
Applied
#1 lore raw

PATCH 7/7 tsec: fix link detection for the RTL8211B PHY

Quoted 10 lines · On Fri, 14 Mar 2008 23:20:30 +0300 Anton Vorontsov <[email protected]>…

RTL8211B sets link state register after autonegotiation complete, so with bootdelay=0 RTL8211B will report lack of the link.

To fix this, we should wait for aneg to complete, even if the link is currently down.

---
 drivers/net/tsec.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

applied.

Ben: Anton sent this to me and I didn't see you comment; let me know if I'm impeding on your space here; or e.g. whether you'd rather I wait for your ack.

Kim

#2 lore raw

PATCH 7/7 tsec: fix link detection for the RTL8211B PHY

Quoted 14 lines · Kim Phillips
Quoted 10 lines · On Fri, 14 Mar 2008 23:20:30 +0300 Anton Vorontsov <[email protected]>…

RTL8211B sets link state register after autonegotiation complete, so with bootdelay=0 RTL8211B will report lack of the link.

To fix this, we should wait for aneg to complete, even if the link is currently down.

---
 drivers/net/tsec.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
Quoted 6 lines

applied.

Ben: Anton sent this to me and I didn't see you comment; let me know if I'm impeding on your space here; or e.g. whether you'd rather I wait for your ack.

I'm not territorially inclined, so please pick it up. This looks harmless enough and is confined to code for a single PHY.

thanks,
Ben