Skip to content

Commit

Permalink
Take non-CMIS xcvrs out of lpmode in SFF Manager
Browse files Browse the repository at this point in the history
Fix non-CMIS transceivers in down state by bringing them out of
lpmode in the SFF Manager Task.
  • Loading branch information
peterbailey-arista committed Dec 6, 2024
1 parent b276e41 commit 94b96b6
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions sonic-xcvrd/xcvrd/sff_mgr.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@

from .xcvrd_utilities.port_event_helper import PortChangeObserver
from .xcvrd_utilities.xcvr_table_helper import XcvrTableHelper
from sonic_platform_base.sonic_xcvr.api.public.sff8472 import Sff8472Api
except ImportError as e:
raise ImportError(str(e) + " - required module not found")

Expand Down Expand Up @@ -434,6 +435,18 @@ def task_worker(self):
except (AttributeError, NotImplementedError):
# Skip if these essential routines are not available
continue

if xcvr_inserted:
set_lp_success = (
sfp.set_lpmode(False)
if isinstance(api, Sff8472Api)
else api.set_lpmode(False)
)
if not set_lp_success:
self.log_error(
"{}: Failed to take module out of low power mode.".format(
lport)
)

if active_lanes is None:
active_lanes = self.get_active_lanes_for_lport(lport, subport_idx,
Expand Down

0 comments on commit 94b96b6

Please sign in to comment.