diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c index eec36995af222b8afe497b70b8a27e72e7554cea..f1c0ec308bfe6e35efe0ad121d6169b0938d4d91 100644 --- a/drivers/net/sky2.c +++ b/drivers/net/sky2.c @@ -2146,7 +2146,8 @@ static void sky2_phy_intr(struct sky2_hw *hw, unsigned port) istatus, phystat); if (istatus & PHY_M_IS_AN_COMPL) { - if (sky2_autoneg_done(sky2, phystat) == 0) + if (sky2_autoneg_done(sky2, phystat) == 0 && + !netif_carrier_ok(dev)) sky2_link_up(sky2); goto out; }