Re: [PATCH net v2 2/6] net: stmmac: Enable double VLAN processing only when supported
Joseph Steel <[email protected]>
| Newsgroups | org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-kernel,org.kernel.vger.linux-kselftest,org.kernel.vger.netdev |
|---|---|
| Message-ID | <a77cwrdtjmzi6zextnlg7llrqh56behj6zl6jkon4ta6gwnbdj@unwirtt36qwn> |
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. -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. >