Skip to content

Commit

Permalink
tlan: Don't disable internal PHY on cards that use it in 10 Mbps mode
Browse files Browse the repository at this point in the history
In tlan_reset_adapter, we disable internal PHY when an external one is used.
On cards which use internal PHY in 10 Mbps mode, we enable it later when
setting 10 Mbps mode but it does not really work (PHY fails to reset).
Leave it enabled instead.

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Ondrej Zary authored and David S. Miller committed Jul 8, 2014
1 parent 9cff441 commit 7a72edd
Showing 1 changed file with 3 additions and 5 deletions.
8 changes: 3 additions & 5 deletions drivers/net/ethernet/ti/tlan.c
Original file line number Diff line number Diff line change
Expand Up @@ -2237,7 +2237,9 @@ tlan_reset_adapter(struct net_device *dev)
}
}

if (priv->phy_num == 0)
/* don't power down internal PHY if we're going to use it */
if (priv->phy_num == 0 ||
(priv->adapter->flags & TLAN_ADAPTER_USE_INTERN_10))
data |= TLAN_NET_CFG_PHY_EN;
tlan_dio_write16(dev->base_addr, TLAN_NET_CONFIG, (u16) data);

Expand Down Expand Up @@ -2688,7 +2690,6 @@ static void tlan_phy_finish_auto_neg(struct net_device *dev)
struct tlan_priv *priv = netdev_priv(dev);
u16 an_adv;
u16 an_lpa;
u16 data;
u16 mode;
u16 phy;
u16 status;
Expand Down Expand Up @@ -2721,9 +2722,6 @@ static void tlan_phy_finish_auto_neg(struct net_device *dev)
(priv->adapter->flags & TLAN_ADAPTER_USE_INTERN_10) &&
(priv->phy_num != 0)) {
priv->phy_num = 0;
data = TLAN_NET_CFG_1FRAG | TLAN_NET_CFG_1CHAN
| TLAN_NET_CFG_PHY_EN;
tlan_dio_write16(dev->base_addr, TLAN_NET_CONFIG, data);
tlan_set_timer(dev, (400*HZ/1000), TLAN_TIMER_PHY_PDOWN);
return;
}
Expand Down

0 comments on commit 7a72edd

Please sign in to comment.