Currently the caller needs to initialize the ice_cfg_phy_fec() parameter ice_aqc_set_phy_cfg_data FEC fields before calling. However, this is not necessary since ice_cfg_phy_fec() calls Get PHY Capabilities.
Initialize ice_aqc_set_phy_cfg_data FEC capabilities and FEC option fields from Get PHY Capabilities with media/topology in ice_cfg_phy_fec(). Signed-off-by: Paul Greenwalt <paul.greenw...@intel.com> Signed-off-by: Paul M. Stillwell Jr <paul.m.stillwell...@intel.com> Signed-off-by: Qi Zhang <qi.z.zh...@intel.com> --- drivers/net/ice/base/ice_common.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/ice/base/ice_common.c b/drivers/net/ice/base/ice_common.c index 908ef9085..8ba603242 100644 --- a/drivers/net/ice/base/ice_common.c +++ b/drivers/net/ice/base/ice_common.c @@ -2762,6 +2762,9 @@ ice_cfg_phy_fec(struct ice_port_info *pi, struct ice_aqc_set_phy_cfg_data *cfg, if (status) goto out; + cfg->caps |= (pcaps->caps & ICE_AQC_PHY_EN_AUTO_FEC); + cfg->link_fec_opt = pcaps->link_fec_options; + switch (fec) { case ICE_FEC_BASER: /* Clear RS bits, and AND BASE-R ability -- 2.13.6