git: 9cf1aa6e68e4 - main - ixgbe: dispatch PBA string reads through EEPROM ops
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 31 Jul 2026 12:00:46 UTC
The branch main has been updated by kbowling:
URL: https://cgit.FreeBSD.org/src/commit/?id=9cf1aa6e68e4b9dd4a77c67b7b902b9221198e7a
commit 9cf1aa6e68e4b9dd4a77c67b7b902b9221198e7a
Author: Kevin Bowling <kbowling@FreeBSD.org>
AuthorDate: 2026-07-28 11:25:48 +0000
Commit: Kevin Bowling <kbowling@FreeBSD.org>
CommitDate: 2026-07-31 11:58:53 +0000
ixgbe: dispatch PBA string reads through EEPROM ops
E610 installs a device-specific PBA string reader, but the public API
always calls the generic implementation. Dispatch through the EEPROM
operation table so device overrides are honored.
Initialize the generic operation for devices that use the ordinary
EEPROM representation.
Obtained from: Intel ix 3.4.39
MFC after: 1 week
---
sys/dev/ixgbe/ixgbe_api.c | 4 +++-
sys/dev/ixgbe/ixgbe_common.c | 1 +
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/sys/dev/ixgbe/ixgbe_api.c b/sys/dev/ixgbe/ixgbe_api.c
index 3794bb2676f6..a244269be50a 100644
--- a/sys/dev/ixgbe/ixgbe_api.c
+++ b/sys/dev/ixgbe/ixgbe_api.c
@@ -495,7 +495,9 @@ s32 ixgbe_stop_adapter(struct ixgbe_hw *hw)
**/
s32 ixgbe_read_pba_string(struct ixgbe_hw *hw, u8 *pba_num, u32 pba_num_size)
{
- return ixgbe_read_pba_string_generic(hw, pba_num, pba_num_size);
+ return ixgbe_call_func(hw, hw->eeprom.ops.read_pba_string,
+ (hw, pba_num, pba_num_size),
+ IXGBE_NOT_IMPLEMENTED);
}
/**
diff --git a/sys/dev/ixgbe/ixgbe_common.c b/sys/dev/ixgbe/ixgbe_common.c
index a3659cce50c4..5965e1146175 100644
--- a/sys/dev/ixgbe/ixgbe_common.c
+++ b/sys/dev/ixgbe/ixgbe_common.c
@@ -91,6 +91,7 @@ s32 ixgbe_init_ops_generic(struct ixgbe_hw *hw)
ixgbe_validate_eeprom_checksum_generic;
eeprom->ops.update_checksum = ixgbe_update_eeprom_checksum_generic;
eeprom->ops.calc_checksum = ixgbe_calc_eeprom_checksum_generic;
+ eeprom->ops.read_pba_string = ixgbe_read_pba_string_generic;
/* MAC */
mac->ops.init_hw = ixgbe_init_hw_generic;