From: Siddaraju DH <siddaraju...@intel.com>

Update en_link in curr_user_phy_cfg.caps on successful execution of
set_link_restart_an operation.

Signed-off-by: Siddaraju DH <siddaraju...@intel.com>
Signed-off-by: Ian Stokes <ian.sto...@intel.com>
---
 drivers/net/ice/base/ice_common.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ice/base/ice_common.c 
b/drivers/net/ice/base/ice_common.c
index d79162b5d1..278baf3848 100644
--- a/drivers/net/ice/base/ice_common.c
+++ b/drivers/net/ice/base/ice_common.c
@@ -3966,6 +3966,7 @@ int
 ice_aq_set_link_restart_an(struct ice_port_info *pi, bool ena_link,
                           struct ice_sq_cd *cd)
 {
+       int status = ICE_ERR_AQ_ERROR;
        struct ice_aqc_restart_an *cmd;
        struct ice_aq_desc desc;
 
@@ -3980,7 +3981,16 @@ ice_aq_set_link_restart_an(struct ice_port_info *pi, 
bool ena_link,
        else
                cmd->cmd_flags &= ~ICE_AQC_RESTART_AN_LINK_ENABLE;
 
-       return ice_aq_send_cmd(pi->hw, &desc, NULL, 0, cd);
+       status = ice_aq_send_cmd(pi->hw, &desc, NULL, 0, cd);
+       if (status)
+               return status;
+
+       if (ena_link)
+               pi->phy.curr_user_phy_cfg.caps |= ICE_AQC_PHY_EN_LINK;
+       else
+               pi->phy.curr_user_phy_cfg.caps &= ~ICE_AQC_PHY_EN_LINK;
+
+       return 0;
 }
 
 /**
-- 
2.43.0

Reply via email to