提交 0f5d4c21 编写于 作者: A Akeem G Abodunrin 提交者: Jeff Kirsher

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: NAkeem G Abodunrin <akeem.g.abodunrin@intel.com>
Signed-off-by: NAnirudh Venkataramanan <anirudh.venkataramanan@intel.com>
Tested-by: NAndrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
上级 afd9d4ab
...@@ -1517,10 +1517,15 @@ ice_set_pauseparam(struct net_device *netdev, struct ethtool_pauseparam *pause) ...@@ -1517,10 +1517,15 @@ ice_set_pauseparam(struct net_device *netdev, struct ethtool_pauseparam *pause)
} }
if (!test_bit(__ICE_DOWN, pf->state)) { 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); msleep(75);
if (!test_bit(__ICE_DOWN, pf->state)) if (!test_bit(__ICE_DOWN, pf->state))
return ice_nway_reset(netdev); return ice_nway_reset(netdev);
ice_down(vsi);
ice_up(vsi);
} }
return err; return err;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册