diff options
Diffstat (limited to 'drivers/net/e1000/e1000_main.c')
-rw-r--r-- | drivers/net/e1000/e1000_main.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c index ab1b40f644d7..43dde2733ec0 100644 --- a/drivers/net/e1000/e1000_main.c +++ b/drivers/net/e1000/e1000_main.c | |||
@@ -2583,15 +2583,22 @@ e1000_watchdog(unsigned long data) | |||
2583 | 2583 | ||
2584 | if (link) { | 2584 | if (link) { |
2585 | if (!netif_carrier_ok(netdev)) { | 2585 | if (!netif_carrier_ok(netdev)) { |
2586 | uint32_t ctrl; | ||
2586 | boolean_t txb2b = 1; | 2587 | boolean_t txb2b = 1; |
2587 | e1000_get_speed_and_duplex(&adapter->hw, | 2588 | e1000_get_speed_and_duplex(&adapter->hw, |
2588 | &adapter->link_speed, | 2589 | &adapter->link_speed, |
2589 | &adapter->link_duplex); | 2590 | &adapter->link_duplex); |
2590 | 2591 | ||
2591 | DPRINTK(LINK, INFO, "NIC Link is Up %d Mbps %s\n", | 2592 | ctrl = E1000_READ_REG(&adapter->hw, CTRL); |
2592 | adapter->link_speed, | 2593 | DPRINTK(LINK, INFO, "NIC Link is Up %d Mbps %s, " |
2593 | adapter->link_duplex == FULL_DUPLEX ? | 2594 | "Flow Control: %s\n", |
2594 | "Full Duplex" : "Half Duplex"); | 2595 | adapter->link_speed, |
2596 | adapter->link_duplex == FULL_DUPLEX ? | ||
2597 | "Full Duplex" : "Half Duplex", | ||
2598 | ((ctrl & E1000_CTRL_TFCE) && (ctrl & | ||
2599 | E1000_CTRL_RFCE)) ? "RX/TX" : ((ctrl & | ||
2600 | E1000_CTRL_RFCE) ? "RX" : ((ctrl & | ||
2601 | E1000_CTRL_TFCE) ? "TX" : "None" ))); | ||
2595 | 2602 | ||
2596 | /* tweak tx_queue_len according to speed/duplex | 2603 | /* tweak tx_queue_len according to speed/duplex |
2597 | * and adjust the timeout factor */ | 2604 | * and adjust the timeout factor */ |