aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/e1000/e1000_phy.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/e1000/e1000_phy.c')
-rw-r--r--sys/dev/e1000/e1000_phy.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/dev/e1000/e1000_phy.c b/sys/dev/e1000/e1000_phy.c
index 0aaf32125bbe..c34897e3b31a 100644
--- a/sys/dev/e1000/e1000_phy.c
+++ b/sys/dev/e1000/e1000_phy.c
@@ -1037,7 +1037,7 @@ static s32 e1000_set_master_slave_mode(struct e1000_hw *hw)
break;
case e1000_ms_auto:
phy_data &= ~CR_1000T_MS_ENABLE;
- /* FALLTHROUGH */
+ break;
default:
break;
}
@@ -1707,9 +1707,10 @@ s32 e1000_setup_copper_link_generic(struct e1000_hw *hw)
* autonegotiation.
*/
ret_val = e1000_copper_link_autoneg(hw);
- if (ret_val)
+ if (ret_val && !hw->mac.forced_speed_duplex)
return ret_val;
- } else {
+ }
+ if (!hw->mac.autoneg || (ret_val && hw->mac.forced_speed_duplex)) {
/* PHY will be set to 10H, 10F, 100H or 100F
* depending on user settings.
*/