|
@@ -410,6 +410,9 @@ void e1000e_clear_hw_cntrs_base(struct e1000_hw *hw)
|
|
|
* Checks to see of the link status of the hardware has changed. If a
|
|
|
* change in link status has been detected, then we read the PHY registers
|
|
|
* to get the current speed/duplex if link exists.
|
|
|
+ *
|
|
|
+ * Returns a negative error code (-E1000_ERR_*) or 0 (link down) or 1 (link
|
|
|
+ * up).
|
|
|
**/
|
|
|
s32 e1000e_check_for_copper_link(struct e1000_hw *hw)
|
|
|
{
|
|
@@ -423,7 +426,7 @@ s32 e1000e_check_for_copper_link(struct e1000_hw *hw)
|
|
|
* Change or Rx Sequence Error interrupt.
|
|
|
*/
|
|
|
if (!mac->get_link_status)
|
|
|
- return 0;
|
|
|
+ return 1;
|
|
|
|
|
|
/* First we want to see if the MII Status Register reports
|
|
|
* link. If so, then we want to get the current speed/duplex
|
|
@@ -461,10 +464,12 @@ s32 e1000e_check_for_copper_link(struct e1000_hw *hw)
|
|
|
* different link partner.
|
|
|
*/
|
|
|
ret_val = e1000e_config_fc_after_link_up(hw);
|
|
|
- if (ret_val)
|
|
|
+ if (ret_val) {
|
|
|
e_dbg("Error configuring flow control\n");
|
|
|
+ return ret_val;
|
|
|
+ }
|
|
|
|
|
|
- return ret_val;
|
|
|
+ return 1;
|
|
|
}
|
|
|
|
|
|
/**
|