diff options
author | Mark Brown <broonie@linaro.org> | 2013-09-15 13:43:21 +0100 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2013-09-15 13:43:21 +0100 |
commit | 4ed4d44eb2192604716226a6f0edad02ab76101f (patch) | |
tree | 74c2a4041e46b906d89c5880b9cdeb5d768827c4 /drivers/net/ethernet/broadcom/tg3.c | |
parent | cb03293a043ab9bda850fe143062bd304a9e2376 (diff) | |
parent | 410dbb746130bc052bb3c7a337a86252874adbdf (diff) |
Merge tag 'v3.10.12' into linux-linaro-lsklsk-13.09
This is the 3.10.12 stable release
Diffstat (limited to 'drivers/net/ethernet/broadcom/tg3.c')
-rw-r--r-- | drivers/net/ethernet/broadcom/tg3.c | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c index a13463e8a2c..0877a052e3e 100644 --- a/drivers/net/ethernet/broadcom/tg3.c +++ b/drivers/net/ethernet/broadcom/tg3.c @@ -3003,6 +3003,19 @@ static bool tg3_phy_power_bug(struct tg3 *tp) return false; } +static bool tg3_phy_led_bug(struct tg3 *tp) +{ + switch (tg3_asic_rev(tp)) { + case ASIC_REV_5719: + if ((tp->phy_flags & TG3_PHYFLG_MII_SERDES) && + !tp->pci_fn) + return true; + return false; + } + + return false; +} + static void tg3_power_down_phy(struct tg3 *tp, bool do_low_power) { u32 val; @@ -3050,8 +3063,9 @@ static void tg3_power_down_phy(struct tg3 *tp, bool do_low_power) } return; } else if (do_low_power) { - tg3_writephy(tp, MII_TG3_EXT_CTRL, - MII_TG3_EXT_CTRL_FORCE_LED_OFF); + if (!tg3_phy_led_bug(tp)) + tg3_writephy(tp, MII_TG3_EXT_CTRL, + MII_TG3_EXT_CTRL_FORCE_LED_OFF); val = MII_TG3_AUXCTL_PCTL_100TX_LPWR | MII_TG3_AUXCTL_PCTL_SPR_ISOLATE | |