aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/intel/ice/ice_ethtool.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/ethernet/intel/ice/ice_ethtool.c')
-rw-r--r--drivers/net/ethernet/intel/ice/ice_ethtool.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/ethernet/intel/ice/ice_ethtool.c b/drivers/net/ethernet/intel/ice/ice_ethtool.c
index 96923580f2a6..648acdb4c644 100644
--- a/drivers/net/ethernet/intel/ice/ice_ethtool.c
+++ b/drivers/net/ethernet/intel/ice/ice_ethtool.c
@@ -1517,10 +1517,15 @@ ice_set_pauseparam(struct net_device *netdev, struct ethtool_pauseparam *pause)
1517 } 1517 }
1518 1518
1519 if (!test_bit(__ICE_DOWN, pf->state)) { 1519 if (!test_bit(__ICE_DOWN, pf->state)) {
1520 /* Give it a little more time to try to come back */ 1520 /* Give it a little more time to try to come back. If still
1521 * down, restart autoneg link or reinitialize the interface.
1522 */
1521 msleep(75); 1523 msleep(75);
1522 if (!test_bit(__ICE_DOWN, pf->state)) 1524 if (!test_bit(__ICE_DOWN, pf->state))
1523 return ice_nway_reset(netdev); 1525 return ice_nway_reset(netdev);
1526
1527 ice_down(vsi);
1528 ice_up(vsi);
1524 } 1529 }
1525 1530
1526 return err; 1531 return err;