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

Reply via email to