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

Reply via email to