The e1000 PMD crashes during initialisation in a Ubuntu 24.04 VM when
compiled with gcc-13 with -O3 optimisations. This patch introduces a
compiler barrier after the register read that was causing the issue.
Bugzilla ID: 1691
Fixes: af75078fece3 ("first public release")
Cc: [email protected]
Signed-off-by: Ciara Loftus <[email protected]>
---
drivers/net/intel/e1000/base/e1000_mac.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/intel/e1000/base/e1000_mac.c
b/drivers/net/intel/e1000/base/e1000_mac.c
index 2fa97d12a9..41aae86ffe 100644
--- a/drivers/net/intel/e1000/base/e1000_mac.c
+++ b/drivers/net/intel/e1000/base/e1000_mac.c
@@ -1842,6 +1842,7 @@ s32 e1000_id_led_init_generic(struct e1000_hw *hw)
return ret_val;
mac->ledctl_default = E1000_READ_REG(hw, E1000_LEDCTL);
+ rte_compiler_barrier();
mac->ledctl_mode1 = mac->ledctl_default;
mac->ledctl_mode2 = mac->ledctl_default;
--
2.34.1