RDMA/irdma: Fix building without IPv6
authorArnd Bergmann <arnd@arndb.de>
Tue, 18 Jul 2023 19:38:09 +0000 (21:38 +0200)
committerLeon Romanovsky <leon@kernel.org>
Wed, 19 Jul 2023 07:13:10 +0000 (10:13 +0300)
The new irdma_iw_get_vlan_prio() function requires IPv6 support to build:

x86_64-linux-ld: drivers/infiniband/hw/irdma/cm.o: in function `irdma_iw_get_vlan_prio':
cm.c:(.text+0x2832): undefined reference to `ipv6_chk_addr'

Add a compile-time check in the same way as elsewhere in this file to avoid
this by conditionally leaving out the ipv6 specific bits.

Fixes: f877f22ac1e9b ("RDMA/irdma: Implement egress VLAN priority")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20230718193835.3546684-1-arnd@kernel.org
Acked-by: Shiraz Saleem <shiraz.saleem@intel.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/hw/irdma/cm.c

index 6b71b67..8ea55c6 100644 (file)
@@ -1562,7 +1562,7 @@ static u8 irdma_iw_get_vlan_prio(u32 *loc_addr, u8 prio, bool ipv4)
        rcu_read_lock();
        if (ipv4) {
                ndev = ip_dev_find(&init_net, htonl(loc_addr[0]));
-       } else {
+       } else if (IS_ENABLED(CONFIG_IPV6)) {
                struct net_device *ip_dev;
                struct in6_addr laddr6;