aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/e1000e/ethtool.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/net/e1000e/ethtool.c b/drivers/net/e1000e/ethtool.c
index a70999b8c6cf..0364b91488af 100644
--- a/drivers/net/e1000e/ethtool.c
+++ b/drivers/net/e1000e/ethtool.c
@@ -335,10 +335,18 @@ static int e1000_set_pauseparam(struct net_device *netdev,
335 335
336 hw->fc.current_mode = hw->fc.requested_mode; 336 hw->fc.current_mode = hw->fc.requested_mode;
337 337
338 retval = ((hw->phy.media_type == e1000_media_type_fiber) ? 338 if (hw->phy.media_type == e1000_media_type_fiber) {
339 hw->mac.ops.setup_link(hw) : e1000e_force_mac_fc(hw)); 339 retval = hw->mac.ops.setup_link(hw);
340 /* implicit goto out */
341 } else {
342 retval = e1000e_force_mac_fc(hw);
343 if (retval)
344 goto out;
345 e1000e_set_fc_watermarks(hw);
346 }
340 } 347 }
341 348
349out:
342 clear_bit(__E1000_RESETTING, &adapter->state); 350 clear_bit(__E1000_RESETTING, &adapter->state);
343 return retval; 351 return retval;
344} 352}