Since recently the multicast optimizations are using functions from the
bridge module. If batman-adv is a kernel built-in, then these bridge
functions need to be accessible immediately. Thus adding a Kconfig
dependency for the multicast optimizations to depend on batman-adv being
built as a module if the bridge is built as a module, too.

This fixes build errors like the following:

~~~
   net/built-in.o: In function `batadv_mcast_mla_update':
>> (.text+0x19b7eb): undefined reference to `br_multicast_has_querier_anywhere'
   net/built-in.o: In function `batadv_mcast_mla_update':
>> (.text+0x19b7fa): undefined reference to `br_multicast_has_querier_adjacent'
   net/built-in.o: In function `batadv_mcast_mla_update':
   (.text+0x19b809): undefined reference to `br_multicast_has_querier_anywhere'
   net/built-in.o: In function `batadv_mcast_mla_update':
   (.text+0x19b818): undefined reference to `br_multicast_has_querier_adjacent'
   net/built-in.o: In function `batadv_mcast_mla_update':
>> (.text+0x19b8cf): undefined reference to `br_multicast_list_adjacent'
~~~

Fixes: 391b59cdb111 ("batman-adv: Add multicast optimization support for 
bridged setups")
Reported-by: kbuild test robot <[email protected]>
Signed-off-by: Linus Lüssing <[email protected]>
---
 net/batman-adv/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/batman-adv/Kconfig b/net/batman-adv/Kconfig
index b7ba97d..833bb14 100644
--- a/net/batman-adv/Kconfig
+++ b/net/batman-adv/Kconfig
@@ -66,7 +66,7 @@ config BATMAN_ADV_NC
 
 config BATMAN_ADV_MCAST
        bool "Multicast optimisation"
-       depends on BATMAN_ADV && INET
+       depends on BATMAN_ADV && INET && !(BRIDGE=m && BATMAN_ADV=y)
        default n
        help
          This option enables the multicast optimisation which aims to
-- 
2.1.4

Reply via email to