|
@@ -1517,10 +1517,15 @@ ice_set_pauseparam(struct net_device *netdev, struct ethtool_pauseparam *pause)
|
|
|
}
|
|
|
|
|
|
if (!test_bit(__ICE_DOWN, pf->state)) {
|
|
|
- /* Give it a little more time to try to come back */
|
|
|
+ /* Give it a little more time to try to come back. If still
|
|
|
+ * down, restart autoneg link or reinitialize the interface.
|
|
|
+ */
|
|
|
msleep(75);
|
|
|
if (!test_bit(__ICE_DOWN, pf->state))
|
|
|
return ice_nway_reset(netdev);
|
|
|
+
|
|
|
+ ice_down(vsi);
|
|
|
+ ice_up(vsi);
|
|
|
}
|
|
|
|
|
|
return err;
|