On Fri, Oct 10, 2025 at 03:31:51PM +0200, Thierry Herbelot wrote:
> On 10/10/25 14:58, Ciara Loftus wrote:
> > 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]>
>
> Tested-by: Thierry Herbelot <[email protected]>
>
> The patch fixes the crash at startup.
>
> Thanks
>
> Thierry
>
> > ---
> > 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;
>
Since adding a compiler barrier is still a workaround (all-be-it a fairly
unintrusive one), I'm going to hold off this patch until rc2 or rc3 in the
hopes we get more details as to the exact root cause and why gcc-13 is
producing code that crashes.
/Bruce