Web lists-archives.com

[PATCH] net: dsa: add CONFIG_BRIDGE dependency




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 <arnd@xxxxxxxx>
---
 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