--- a/drivers/net/cpmac.c
+++ b/drivers/net/cpmac.c
@@ -948,7 +948,8 @@ static void cpmac_adjust_link(struct net
 	int new_state = 0;
 
 	spin_lock(&priv->lock);
-	if (priv->phy->link) {
+	if (1 /* priv->phy->link */) {
+		netif_carrier_on(dev);
 		netif_start_queue(dev);
 		if (priv->phy->duplex != priv->oldduplex) {
 			new_state = 1;
@@ -960,11 +961,11 @@ static void cpmac_adjust_link(struct net
 			priv->oldspeed = priv->phy->speed;
 		}
 
-		if (!priv->oldlink) {
+		/*if (!priv->oldlink) {
 			new_state = 1;
-			priv->oldlink = 1;
+			priv->oldlink = 1;*/
 			netif_schedule(dev);
-		}
+		/*}*/
 	} else if (priv->oldlink) {
 		netif_stop_queue(dev);
 		new_state = 1;
