summaryrefslogtreecommitdiffstats
path: root/qsfp.c
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-08-26 10:34:19 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-08-26 10:34:19 +0000
commit942dc614706293cdedc7dede7dc09d8fdf9583f2 (patch)
tree39a8bf3ebede54ce9aea189de4036398199ee6e9 /qsfp.c
parentAdding upstream version 1:6.9. (diff)
downloadethtool-942dc614706293cdedc7dede7dc09d8fdf9583f2.tar.xz
ethtool-942dc614706293cdedc7dede7dc09d8fdf9583f2.zip
Adding upstream version 1:6.10.upstream/1%6.10upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'qsfp.c')
-rw-r--r--qsfp.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/qsfp.c b/qsfp.c
index a2921fb..a3a919d 100644
--- a/qsfp.c
+++ b/qsfp.c
@@ -1038,8 +1038,15 @@ sff8636_memory_map_init_pages(struct cmd_context *ctx,
sff8636_request_init(&request, 0x3, SFF8636_PAGE_SIZE);
ret = nl_get_eeprom_page(ctx, &request);
- if (ret < 0)
- return ret;
+ if (ret < 0) {
+ /* Page 03h is not available due to a bug in the driver.
+ * This is a non-fatal error and sff8636_dom_parse()
+ * handles this correctly.
+ */
+ fprintf(stderr, "Failed to read Upper Page 03h, driver error?\n");
+ return 0;
+ }
+
map->page_03h = request.data - SFF8636_PAGE_SIZE;
return 0;