diff options
author | stephen hemminger <shemminger@vyatta.com> | 2010-03-29 07:36:20 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-03-30 19:43:48 -0700 |
commit | 9badba2543d165154c540b80e59ff06c1b3e3f76 (patch) | |
tree | 1b4c1748d144987a115a5dda6127360888a22374 | |
parent | 4b7c47aa221191b2bd62c653ea851afe5b625162 (diff) | |
download | linux-9badba2543d165154c540b80e59ff06c1b3e3f76.tar.gz linux-9badba2543d165154c540b80e59ff06c1b3e3f76.tar.bz2 linux-9badba2543d165154c540b80e59ff06c1b3e3f76.zip |
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.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) 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; } |