Hi Joseph, > > On Fri, Aug 21, 2026 at 05:09:55PM +0000, Ovidiu Panait wrote: > > stmmac_vlan_update() turns on double/S-VLAN processing whenever an > > 802.1ad VLAN is registered, without checking whether the MAC actually > > supports double VLAN processing. That capability is reported in > > dma_cap.dvlan. > > This is not true. S-VLAN is never reported by the dma_cap.dvlan > feature flag. Double VLAN tagging and S-Tag VLAN features are fully > independent. >
Right, thanks for the correction. The EDVLP bit, which is currently set unconditionally when an 802.1ad VLAN is registered, seems to be the only one that truly depends on the dvlan feature flag. Taking a closer look, setting EDVLP shouldn't be needed at all, as the driver doesn't implement any feature it gates (inner VLAN stripping/filtering). I guess removing it should be part of a follow up cleanup series. For now, I will just drop this patch in v3. Thanks, Ovidiu > -Joseph > > > > > This was found while investigating a separate bug in the double VLAN RX > > stripping path. The outer 802.1ad tags were unexpectedly stripped by the > > MAC (because the ESVL bit was set). > > > > Check dma_cap.dvlan before enabling EDVLP/ESVL/DOVLTC bits, so that > double > > VLAN processing is enabled only on supported hardware. Also, advertise > > NETIF_F_HW_VLAN_STAG_RX and NETIF_F_HW_VLAN_STAG_FILTER only when > > dma_cap.dvlan is set. > >

