|
@@ -2528,9 +2528,10 @@ static void tlan_phy_power_down(struct net_device *dev)
|
|
value = MII_GC_PDOWN | MII_GC_LOOPBK | MII_GC_ISOLATE;
|
|
value = MII_GC_PDOWN | MII_GC_LOOPBK | MII_GC_ISOLATE;
|
|
tlan_mii_sync(dev->base_addr);
|
|
tlan_mii_sync(dev->base_addr);
|
|
tlan_mii_write_reg(dev, priv->phy[priv->phy_num], MII_GEN_CTL, value);
|
|
tlan_mii_write_reg(dev, priv->phy[priv->phy_num], MII_GEN_CTL, value);
|
|
- if ((priv->phy_num == 0) &&
|
|
|
|
- (priv->phy[1] != TLAN_PHY_NONE) &&
|
|
|
|
- (!(priv->adapter->flags & TLAN_ADAPTER_USE_INTERN_10))) {
|
|
|
|
|
|
+ if ((priv->phy_num == 0) && (priv->phy[1] != TLAN_PHY_NONE)) {
|
|
|
|
+ /* if using internal PHY, the external PHY must be powered on */
|
|
|
|
+ if (priv->adapter->flags & TLAN_ADAPTER_USE_INTERN_10)
|
|
|
|
+ value = MII_GC_ISOLATE; /* just isolate it from MII */
|
|
tlan_mii_sync(dev->base_addr);
|
|
tlan_mii_sync(dev->base_addr);
|
|
tlan_mii_write_reg(dev, priv->phy[1], MII_GEN_CTL, value);
|
|
tlan_mii_write_reg(dev, priv->phy[1], MII_GEN_CTL, value);
|
|
}
|
|
}
|