mirror of
https://github.com/torvalds/linux.git
synced 2024-12-03 17:41:22 +00:00
ice: Fix dead device link issue with flow control
Setting Rx or Tx pause parameter currently results in link loss on the interface, requiring the platform/host to be cold power cycled. Fix it. Signed-off-by: Akeem G Abodunrin <akeem.g.abodunrin@intel.com> Signed-off-by: Anirudh Venkataramanan <anirudh.venkataramanan@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:
parent
afd9d4ab58
commit
0f5d4c21a5
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user