diff mbox series

net: dsa: add CONFIG_BRIDGE dependency

Message ID 20171113135756.3250298-1-arnd@arndb.de
State New
Headers show
Series net: dsa: add CONFIG_BRIDGE dependency | expand

Commit Message

Arnd Bergmann Nov. 13, 2017, 1:57 p.m. UTC
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@arndb.de>

---
 net/dsa/Kconfig | 1 +
 1 file changed, 1 insertion(+)

-- 
2.9.0

Comments

David Miller Nov. 13, 2017, 2:07 p.m. UTC | #1
Please see:

	http://patchwork.ozlabs.org/patch/837041/

but thank you for looking into this.
Arnd Bergmann Nov. 13, 2017, 2:57 p.m. UTC | #2
On Mon, Nov 13, 2017 at 3:07 PM, David Miller <davem@davemloft.net> wrote:
>

> Please see:

>

>         http://patchwork.ozlabs.org/patch/837041/


Ok, that should work equally well. I had the same thing at first
and then changed it to be a little more specific with the
dependency.

       Arnd
Andrew Lunn Nov. 13, 2017, 4:11 p.m. UTC | #3
On Mon, Nov 13, 2017 at 03:57:18PM +0100, Arnd Bergmann wrote:
> On Mon, Nov 13, 2017 at 3:07 PM, David Miller <davem@davemloft.net> wrote:

> >

> > Please see:

> >

> >         http://patchwork.ozlabs.org/patch/837041/

> 

> Ok, that should work equally well. I had the same thing at first

> and then changed it to be a little more specific with the

> dependency.


Hi Arnd

I considered being more specific. But i looked at how the Mellanox
driver solves this exact same problem. I took the solution from
there. So we are consistent across switch drivers.

       Andrew
Arnd Bergmann Nov. 13, 2017, 4:21 p.m. UTC | #4
On Mon, Nov 13, 2017 at 5:11 PM, Andrew Lunn <andrew@lunn.ch> wrote:
> On Mon, Nov 13, 2017 at 03:57:18PM +0100, Arnd Bergmann wrote:

>> On Mon, Nov 13, 2017 at 3:07 PM, David Miller <davem@davemloft.net> wrote:

>> >

>> > Please see:

>> >

>> >         http://patchwork.ozlabs.org/patch/837041/

>>

>> Ok, that should work equally well. I had the same thing at first

>> and then changed it to be a little more specific with the

>> dependency.

>

> Hi Arnd

>

> I considered being more specific. But i looked at how the Mellanox

> driver solves this exact same problem. I took the solution from

> there. So we are consistent across switch drivers.


Right, makes sense.

      Arnd
diff mbox series

Patch

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---