diff options
| -rw-r--r-- | drivers/net/tg3.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index 73e271e59c6a..a28accbfcdf7 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c | |||
| @@ -974,6 +974,8 @@ static int tg3_phy_reset_5703_4_5(struct tg3 *tp) | |||
| 974 | return err; | 974 | return err; |
| 975 | } | 975 | } |
| 976 | 976 | ||
| 977 | static void tg3_link_report(struct tg3 *); | ||
| 978 | |||
| 977 | /* This will reset the tigon3 PHY if there is no valid | 979 | /* This will reset the tigon3 PHY if there is no valid |
| 978 | * link unless the FORCE argument is non-zero. | 980 | * link unless the FORCE argument is non-zero. |
| 979 | */ | 981 | */ |
| @@ -987,6 +989,11 @@ static int tg3_phy_reset(struct tg3 *tp) | |||
| 987 | if (err != 0) | 989 | if (err != 0) |
| 988 | return -EBUSY; | 990 | return -EBUSY; |
| 989 | 991 | ||
| 992 | if (netif_running(tp->dev) && netif_carrier_ok(tp->dev)) { | ||
| 993 | netif_carrier_off(tp->dev); | ||
| 994 | tg3_link_report(tp); | ||
| 995 | } | ||
| 996 | |||
| 990 | if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5703 || | 997 | if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5703 || |
| 991 | GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5704 || | 998 | GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5704 || |
| 992 | GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705) { | 999 | GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705) { |
