Skip to content

[action] [PR:548] Restore optoe page to default 0 for active cables#549

Merged
mssonicbld merged 1 commit intosonic-net:202405from
mssonicbld:cherry/202405/548
Mar 3, 2025
Merged

[action] [PR:548] Restore optoe page to default 0 for active cables#549
mssonicbld merged 1 commit intosonic-net:202405from
mssonicbld:cherry/202405/548

Conversation

@mssonicbld
Copy link
Copy Markdown
Collaborator

Description

Restore the optoe's page to page ZERO before reading the Lower page > 127

Motivation and Context

When the module is busy with CDB command, the optoe kernel driver at the end of user page read request, tries to restore the page to Page ZERO and if this write fails because the module could be busy with CDB command (since these modules donot support background CDB mode). Because of this when Xcvrd tries to read offset (> 127) in Lower page, since optoe does not restore the page to 0 for any Lower page access, the page read to these offset will result in wrong page to be read (because of previous page select write failure) and Xcvrd parsing fails causing crash.

Now in optoe EEPROM read API we ensure to restore the Page to ZERO page if the Page select byte is non-zero

How Has This Been Tested?

TBD:

  1. Test on Arista switch
  2. Test on Cisco switch

Additional Information (Optional)

<!-- Provide a general summary of your changes in the Title above -->

#### Description
Restore the optoe's page to page ZERO before reading the Lower page > 127

#### Motivation and Context
When the module is busy with CDB command, the optoe kernel driver at the end of user page read request, tries to restore the page to Page ZERO and if this write fails because the module could be busy with CDB command (since these modules donot support background CDB mode).  Because of this when Xcvrd tries to read offset (> 127) in Lower page, since optoe does not restore the page to 0 for any Lower page access, the page read to these offset will result in wrong page to be read (because of previous page select write failure) and Xcvrd parsing fails causing crash.

Now in optoe EEPROM read API we ensure to restore the Page to ZERO page if the Page select byte is non-zero

#### How Has This Been Tested?
TBD:
1. Test on Arista switch
2. Test on Cisco switch

#### Additional Information (Optional)
@mssonicbld
Copy link
Copy Markdown
Collaborator Author

Original PR: #548

@mssonicbld
Copy link
Copy Markdown
Collaborator Author

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld mssonicbld merged commit 04acdc9 into sonic-net:202405 Mar 3, 2025
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant