diff options
author | stephen hemminger <shemminger@vyatta.com> | 2010-03-29 03:36:20 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-03-30 22:43:48 -0400 |
commit | 9badba2543d165154c540b80e59ff06c1b3e3f76 (patch) | |
tree | 1b4c1748d144987a115a5dda6127360888a22374 /drivers/net/sky2.c | |
parent | 4b7c47aa221191b2bd62c653ea851afe5b625162 (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>
Diffstat (limited to 'drivers/net/sky2.c')
-rw-r--r-- | drivers/net/sky2.c | 3 |
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 | } |