Skip to content

Commit 9162e7e

Browse files
Ondrej Zarydavem330
authored andcommitted
tlan: Isolate external PHY when using internal PHY
When using internal 10 Mbps PHY, isolate the external PHY from MII bus. External PHY must be kept powered up because it passes TX from tlan chip to network. This fixes weird link-loss problems under load with OC-2326 card at 10 Mbps. Signed-off-by: Ondrej Zary <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent e697b16 commit 9162e7e

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

drivers/net/ethernet/ti/tlan.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2528,9 +2528,10 @@ static void tlan_phy_power_down(struct net_device *dev)
25282528
value = MII_GC_PDOWN | MII_GC_LOOPBK | MII_GC_ISOLATE;
25292529
tlan_mii_sync(dev->base_addr);
25302530
tlan_mii_write_reg(dev, priv->phy[priv->phy_num], MII_GEN_CTL, value);
2531-
if ((priv->phy_num == 0) &&
2532-
(priv->phy[1] != TLAN_PHY_NONE) &&
2533-
(!(priv->adapter->flags & TLAN_ADAPTER_USE_INTERN_10))) {
2531+
if ((priv->phy_num == 0) && (priv->phy[1] != TLAN_PHY_NONE)) {
2532+
/* if using internal PHY, the external PHY must be powered on */
2533+
if (priv->adapter->flags & TLAN_ADAPTER_USE_INTERN_10)
2534+
value = MII_GC_ISOLATE; /* just isolate it from MII */
25342535
tlan_mii_sync(dev->base_addr);
25352536
tlan_mii_write_reg(dev, priv->phy[1], MII_GEN_CTL, value);
25362537
}

0 commit comments

Comments
 (0)