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>
        }
 
        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;