diff --git a/drivers/net/sis190.c b/drivers/net/sis190.c
index 0b22e75633a29e86b1e2910d0ed95c1b19f589a1..20f48296efcb28f2f83356e1925b6de53e4e44e9 100644
--- a/drivers/net/sis190.c
+++ b/drivers/net/sis190.c
@@ -899,10 +899,9 @@ static void sis190_phy_task(struct work_struct *work)
 		mod_timer(&tp->timer, jiffies + HZ/10);
 	} else if (!(mdio_read_latched(ioaddr, phy_id, MII_BMSR) &
 		     BMSR_ANEGCOMPLETE)) {
-		net_link(tp, KERN_WARNING "%s: PHY reset until link up.\n",
-			 dev->name);
 		netif_carrier_off(dev);
-		mdio_write(ioaddr, phy_id, MII_BMCR, val | BMCR_RESET);
+		net_link(tp, KERN_WARNING "%s: auto-negotiating...\n",
+			 dev->name);
 		mod_timer(&tp->timer, jiffies + SIS190_PHY_TIMEOUT);
 	} else {
 		/* Rejoice ! */