From 5b2a8572facb97b37286eff528fdbbe71242ed56 Mon Sep 17 00:00:00 2001 From: Prince George <45705344+prgeor@users.noreply.github.com> Date: Thu, 13 Nov 2025 16:26:15 -0800 Subject: [PATCH] [202505] Re-arm timer for CMIS Datapath pre-init check (#707) Update sonic-xcvrd/xcvrd/cmis/cmis_manager_task.py Co-authored-by: mihirpat1 <112018033+mihirpat1@users.noreply.github.com> --- sonic-xcvrd/xcvrd/xcvrd.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sonic-xcvrd/xcvrd/xcvrd.py b/sonic-xcvrd/xcvrd/xcvrd.py index f5448938a..810c87b7e 100644 --- a/sonic-xcvrd/xcvrd/xcvrd.py +++ b/sonic-xcvrd/xcvrd/xcvrd.py @@ -1224,11 +1224,16 @@ def task_worker(self): api.tx_disable_channel(media_lanes_mask, True) self.port_dict[lport]['forced_tx_disabled'] = True txoff_duration = self.get_cmis_dp_tx_turnoff_duration_secs(api) + self.port_dict[lport]['txoff_duration'] = txoff_duration self.log_notice("{}: Tx turn off duration {} secs".format(lport, txoff_duration)) - self.update_cmis_state_expiration_time(lport, txoff_duration) self.post_port_active_apsel_to_db(api, lport, host_lanes_mask, reset_apsel=True) self.update_port_transceiver_status_table_sw_cmis_state(lport, CMIS_STATE_READY) continue + + # Arm timer for CMIS_STATE_DP_PRE_INIT_CHECK state + if self.port_dict[lport].get('forced_tx_disabled', False): + txoff_duration = self.port_dict[lport].get('txoff_duration', 0) + self.update_cmis_state_expiration_time(lport, txoff_duration) self.update_port_transceiver_status_table_sw_cmis_state(lport, CMIS_STATE_DP_PRE_INIT_CHECK) if state == CMIS_STATE_DP_PRE_INIT_CHECK: if self.port_dict[lport].get('forced_tx_disabled', False):