Subject: Re: STMMAC Ethernet Driver support

From: Corinna Vinschen <[email-masked]>
Date: Mon, 11 Dec 2023 11:03:29 +0100

On Dec 11 17:23, Richard Tresidder wrote:
> 
> > Richard Tresidder
> > 
> > 
> > On 9/12/2023 3:06 pm, Richard Tresidder wrote:
> > > On 9/12/2023 2:12 am, Jakub Kicinski wrote:
> > > > On Fri, 8 Dec 2023 14:03:25 +0800 Richard Tresidder wrote:
> > > > > I've looked through the diffset 6.3.3 >>> 6.6.3 on the driver
> > > > > drivers\net\ethernet\stmicro\stmmac
> > > > > But nothing is jumping out at me.
> > > > > 
> > > > > I could use a pointer as to where to look to start tracing this.
> > > > Bisection is good way to zero in on the bad change if you don't
> > > > have much hard to rebase code in your tree.
> > > > 
> > > > Otherwise you can dump the relevant registers and the descriptors
> > > > (descriptors_status file in debugfs) and see if driver is doing
> > > > anything differently on the newer kernel?
> > > > 
> > > Thanks Jakub
> > >   Yep I think I'll have to start bisecting things on Monday.
> > > Luckily to work through this I shouldn't have to merge very much.
> > > Have a great weekend
> > > 
> > > Cheers
> > >   Richard Tresidder
> > > 
> > Hi Jakub
> >    Ok the bad commit is the following:
> > ************************************
> > 6b2c6e4a938fece9b539c8085f21d17c5e6eb9de is the first bad commit
> > commit 6b2c6e4a938fece9b539c8085f21d17c5e6eb9de
> > Author: Corinna Vinschen <[email-masked]>
> > Date:   Mon Apr 17 21:28:45 2023 +0200
> > 
> >     net: stmmac: propagate feature flags to vlan
> > 
> >     stmmac_dev_probe doesn't propagate feature flags to VLANs.  So
> > features
> >     like offloading don't correspond with the general features and it's
> > not
> >     possible to manipulate features via ethtool -K to affect VLANs.
> > 
> >     Propagate feature flags to vlan features.  Drop TSO feature because
> >     it does not work on VLANs yet.
> > 
> >     Signed-off-by: Corinna Vinschen <[email-masked]>
> >     Link:
> > https://lore.kernel.org/r/[email-masked]
> >     Signed-off-by: Jakub Kicinski <[email-masked]>
> > 
> >  drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 4 ++++
> >  1 file changed, 4 insertions(+)
> > ****************************************
> > From back in the work for 6.4-rc1
> > 
> > Theres a single line addition  approx line 7506
> > drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> > 
> > ndev->vlan_features |= ndev->features;

This is missing the 2nd line

    ndev->vlan_features &= ~NETIF_F_TSO;

I assume that another flag or two have to be dropped from being
propagated as well.  That may depend on the platform, just like the
feature flags depend on STMMAC_VLAN_TAG_USED, for instance.

I'm sorry, but I'm not working on stmmac anymore.  Can you perhaps test
removing flags from vlan_features and see what actual flag is breaking
your scenario?

Other than that, maybe reverting the patch is the better option and the
vlan_feature flags should be set explicitely in the various
platform-specific code.

Corinna