aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorstephen hemminger <shemminger@vyatta.com>2010-03-29 03:36:20 -0400
committerDavid S. Miller <davem@davemloft.net>2010-03-30 22:43:48 -0400
commit9badba2543d165154c540b80e59ff06c1b3e3f76 (patch)
tree1b4c1748d144987a115a5dda6127360888a22374
parent4b7c47aa221191b2bd62c653ea851afe5b625162 (diff)
sky2: avoid duplicate link up on Optima chip
The Optima version has feature to detect link quickly without PHY interrupt, but it causes duplicate link up events. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/sky2.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c
index eec36995af22..f1c0ec308bfe 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)
2146 istatus, phystat); 2146 istatus, phystat);
2147 2147
2148 if (istatus & PHY_M_IS_AN_COMPL) { 2148 if (istatus & PHY_M_IS_AN_COMPL) {
2149 if (sky2_autoneg_done(sky2, phystat) == 0) 2149 if (sky2_autoneg_done(sky2, phystat) == 0 &&
2150 !netif_carrier_ok(dev))
2150 sky2_link_up(sky2); 2151 sky2_link_up(sky2);
2151 goto out; 2152 goto out;
2152 } 2153 }