|
@@ -293,10 +293,13 @@ static void macb_handle_link_change(struct net_device *dev)
|
|
|
|
|
|
spin_unlock_irqrestore(&bp->lock, flags);
|
|
|
|
|
|
- macb_set_tx_clk(bp->tx_clk, phydev->speed, dev);
|
|
|
-
|
|
|
if (status_change) {
|
|
|
if (phydev->link) {
|
|
|
+ /* Update the TX clock rate if and only if the link is
|
|
|
+ * up and there has been a link change.
|
|
|
+ */
|
|
|
+ macb_set_tx_clk(bp->tx_clk, phydev->speed, dev);
|
|
|
+
|
|
|
netif_carrier_on(dev);
|
|
|
netdev_info(dev, "link up (%d/%s)\n",
|
|
|
phydev->speed,
|