i40e: fix the restart auto-negotiation after FEC modified

When FEC mode was changed the link didn't know it because
the link was not reset and new parameters were not negotiated.
Set a flag 'I40E_AQ_PHY_ENABLE_ATOMIC_LINK' in 'abilities'
to restart the link and make it run with the new settings.

Fixes: 1d96340196 ("i40e: Add support FEC configuration for Fortville 25G")
Signed-off-by: Jaroslaw Gawin <jaroslawx.gawin@intel.com>
Signed-off-by: Mateusz Palczewski <mateusz.palczewski@intel.com>
Tested-by: Dave Switzer <david.switzer@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
This commit is contained in:
Jaroslaw Gawin 2021-04-13 14:19:40 +00:00 committed by Tony Nguyen
parent 38318f23a7
commit 61343e6da7
1 changed files with 2 additions and 1 deletions

View File

@ -1409,7 +1409,8 @@ static int i40e_set_fec_cfg(struct net_device *netdev, u8 fec_cfg)
memset(&config, 0, sizeof(config)); memset(&config, 0, sizeof(config));
config.phy_type = abilities.phy_type; config.phy_type = abilities.phy_type;
config.abilities = abilities.abilities; config.abilities = abilities.abilities |
I40E_AQ_PHY_ENABLE_ATOMIC_LINK;
config.phy_type_ext = abilities.phy_type_ext; config.phy_type_ext = abilities.phy_type_ext;
config.link_speed = abilities.link_speed; config.link_speed = abilities.link_speed;
config.eee_capability = abilities.eee_capability; config.eee_capability = abilities.eee_capability;