ice: only drop link once when setting pauseparams
Currently, the ice driver is setting a PHY configuration, which causes a link drop, and then additionally it calls for a nway_reset, which restarts auto-negotiation on the link, which also causes a link drop. These two link events in such close timing is causing the FW to not be able to generate a link interrupt for the driver to respond to. Remove the unnecessary auto-negotiation restart from the set pauseparams flow. Also remove error path that would have performed an ice_down/ice_up as that is also unnecessary. Signed-off-by: Dave Ertman <david.m.ertman@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
Родитель
891540024b
Коммит
46a316500e
|
@ -2977,18 +2977,6 @@ ice_set_pauseparam(struct net_device *netdev, struct ethtool_pauseparam *pause)
|
|||
err = -EAGAIN;
|
||||
}
|
||||
|
||||
if (!test_bit(__ICE_DOWN, pf->state)) {
|
||||
/* 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;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче