br_vlan_enabled() may be provided by a loadable module, which causes a build error when called from a built-in function:
net/dsa/port.o: In function `dsa_port_vlan_add': port.c:(.text+0x4a7): undefined reference to `br_vlan_enabled' net/dsa/port.o: In function `dsa_port_vlan_del': port.c:(.text+0x529): undefined reference to `br_vlan_enabled' This adds a Kconfig dependency to enforce NET_DSA to not be built-in when BRIDGE is a module and BRIDGE_VLAN_FILTERING is enabled. We can still build NET_DSA as built-in when the bridge code is completely disabled, or built-in, or a module without vlan filtering support. Fixes: 2ea7a679ca2a ("net: dsa: Don't add vlans when vlan filtering is disabled") Signed-off-by: Arnd Bergmann <a...@arndb.de> --- net/dsa/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/net/dsa/Kconfig b/net/dsa/Kconfig index cc5f8f971689..15926d94d796 100644 --- a/net/dsa/Kconfig +++ b/net/dsa/Kconfig @@ -7,6 +7,7 @@ config HAVE_NET_DSA config NET_DSA tristate "Distributed Switch Architecture" depends on HAVE_NET_DSA && MAY_USE_DEVLINK + depends on BRIDGE || !BRIDGE_VLAN_FILTERING select NET_SWITCHDEV select PHYLIB ---help--- -- 2.9.0