net: lan966x: Fix when CONFIG_IPV6 is not set
authorHoratiu Vultur <horatiu.vultur@microchip.com>
Sat, 12 Feb 2022 20:03:43 +0000 (21:03 +0100)
committerDavid S. Miller <davem@davemloft.net>
Sun, 13 Feb 2022 15:58:06 +0000 (15:58 +0000)
When CONFIG_IPV6 is not set, then the linking of the lan966x driver
fails with the following error:

drivers/net/ethernet/microchip/lan966x/lan966x_main.c:444: undefined
reference to `ipv6_mc_check_mld'

The fix consists in adding a check also for IS_ENABLED(CONFIG_IPV6)

Fixes: 47aeea0d57e80c ("net: lan966x: Implement the callback SWITCHDEV_ATTR_ID_BRIDGE_MC_DISABLED")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/microchip/lan966x/lan966x_main.c

index d62484f..4e877d9 100644 (file)
@@ -439,7 +439,8 @@ static bool lan966x_hw_offload(struct lan966x *lan966x, u32 port,
            ip_hdr(skb)->protocol == IPPROTO_IGMP)
                return false;
 
-       if (skb->protocol == htons(ETH_P_IPV6) &&
+       if (IS_ENABLED(CONFIG_IPV6) &&
+           skb->protocol == htons(ETH_P_IPV6) &&
            ipv6_addr_is_multicast(&ipv6_hdr(skb)->daddr) &&
            !ipv6_mc_check_mld(skb))
                return false;