[PATCH net-next v2 0/5] net: stmmac: Fix VLAN handling when interface is down
Ovidiu Panait
ovidiu.panait.rb at renesas.com
Wed Feb 25 06:24:09 PST 2026
VLAN register accesses on the MAC side require the PHY RX clock to be
active. When the network interface is down, the PHY is suspended and
the RX clock is unavailable, causing VLAN operations to fail with
timeouts.
The VLAN core automatically removes VID 0 after the interface goes down
and re-adds it when it comes back up, so these timeouts happen during
normal interface down/up:
# ip link set end1 down
renesas-gbeth 15c40000.ethernet end1: Timeout accessing MAC_VLAN_Tag_Filter
renesas-gbeth 15c40000.ethernet end1: failed to kill vid 0081/0
Adding VLANs while the interface is down also fails:
# ip link add link end1 name end1.10 type vlan id 10
renesas-gbeth 15c40000.ethernet end1: Timeout accessing MAC_VLAN_Tag_Filter
RTNETLINK answers: Device or resource busy
Patches 4-5 address this by deferring hardware writes when the
interface is down and reconfiguring the VLAN state on interface up.
Patches 1-3 fix some issues in the existing VLAN implementation.
v2 changes:
- Added a new commit that fixes VLAN restore on the resume and open paths.
v1: https://lore.kernel.org/all/20260223124102.120432-1-ovidiu.panait.rb@renesas.com/
Ovidiu Panait (5):
net: stmmac: Fix error handling in VLAN add and delete paths
net: stmmac: Improve double VLAN handling
net: stmmac: Fix VLAN HW state restore
net: stmmac: Add write_hw parameter to VLAN filter operations
net: stmmac: Defer VLAN HW configuration when interface is down
drivers/net/ethernet/stmicro/stmmac/hwif.h | 6 +-
drivers/net/ethernet/stmicro/stmmac/stmmac.h | 1 +
.../net/ethernet/stmicro/stmmac/stmmac_main.c | 69 ++++++++++++++++---
.../net/ethernet/stmicro/stmmac/stmmac_vlan.c | 61 ++++++++--------
4 files changed, 95 insertions(+), 42 deletions(-)
--
2.51.0
More information about the linux-arm-kernel
mailing list