diff options
Diffstat (limited to 'drivers/net/e1000')
-rw-r--r-- | drivers/net/e1000/e1000_main.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c index acaebecf0ca7..f97afda941d7 100644 --- a/drivers/net/e1000/e1000_main.c +++ b/drivers/net/e1000/e1000_main.c | |||
@@ -2402,13 +2402,16 @@ bool e1000_has_link(struct e1000_adapter *adapter) | |||
2402 | struct e1000_hw *hw = &adapter->hw; | 2402 | struct e1000_hw *hw = &adapter->hw; |
2403 | bool link_active = false; | 2403 | bool link_active = false; |
2404 | 2404 | ||
2405 | /* get_link_status is set on LSC (link status) interrupt or | 2405 | /* get_link_status is set on LSC (link status) interrupt or rx |
2406 | * rx sequence error interrupt. get_link_status will stay | 2406 | * sequence error interrupt (except on intel ce4100). |
2407 | * false until the e1000_check_for_link establishes link | 2407 | * get_link_status will stay false until the |
2408 | * for copper adapters ONLY | 2408 | * e1000_check_for_link establishes link for copper adapters |
2409 | * ONLY | ||
2409 | */ | 2410 | */ |
2410 | switch (hw->media_type) { | 2411 | switch (hw->media_type) { |
2411 | case e1000_media_type_copper: | 2412 | case e1000_media_type_copper: |
2413 | if (hw->mac_type == e1000_ce4100) | ||
2414 | hw->get_link_status = 1; | ||
2412 | if (hw->get_link_status) { | 2415 | if (hw->get_link_status) { |
2413 | e1000_check_for_link(hw); | 2416 | e1000_check_for_link(hw); |
2414 | link_active = !hw->get_link_status; | 2417 | link_active = !hw->get_link_status; |