]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
Merge branch 'net-stmmac-fix-vlan-handling-when-interface-is-down'
authorJakub Kicinski <kuba@kernel.org>
Thu, 5 Mar 2026 02:48:51 +0000 (18:48 -0800)
committerJakub Kicinski <kuba@kernel.org>
Thu, 5 Mar 2026 02:48:51 +0000 (18:48 -0800)
commitae779bcb18cb0ef0da1402b9dd837e2084e23e27
tree08b9998a86c87bda39d94ed8f731ef32e9a9d8ed
parent550921c67baa3669e108308b0d8cc9ee6471604b
parent2cd70e3968f505996d5fefdf7ca684f0f4575734
Merge branch 'net-stmmac-fix-vlan-handling-when-interface-is-down'

Ovidiu Panait says:

====================
net: stmmac: Fix VLAN handling when interface is down

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

Patch 4 fixes this by adding checks in the VLAN paths for netif_running(),
and skipping register accesses if the interface is down. Only the software
state is updated in this case. When the interface is brought up, the VLAN
state is restored to hardware.

Patches 1-3 fix some issues in the existing VLAN implementation.
====================

Link: https://patch.msgid.link/20260303145828.7845-1-ovidiu.panait.rb@renesas.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>