RDMA/irdma: fix building without IPv6

Message ID 20230718193835.3546684-1-arnd@kernel.org
State New
Headers
Series RDMA/irdma: fix building without IPv6 |

Commit Message

Arnd Bergmann July 18, 2023, 7:38 p.m. UTC
  From: Arnd Bergmann <arnd@arndb.de>

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>
---
 drivers/infiniband/hw/irdma/cm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Saleem, Shiraz July 18, 2023, 9:17 p.m. UTC | #1
> Subject: [PATCH] RDMA/irdma: fix building without IPv6
> 
> From: Arnd Bergmann <arnd@arndb.de>
> 
> 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>
> ---
>  drivers/infiniband/hw/irdma/cm.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/infiniband/hw/irdma/cm.c b/drivers/infiniband/hw/irdma/cm.c
> index 6b71b67ce9ff0..8ea55c6a3fba5 100644
> --- a/drivers/infiniband/hw/irdma/cm.c
> +++ b/drivers/infiniband/hw/irdma/cm.c
> @@ -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;
> 
> --
> 2.39.2

Acked-by: Shiraz Saleem <shiraz.saleem@intel.com>
  
Leon Romanovsky July 19, 2023, 7:13 a.m. UTC | #2
On Tue, 18 Jul 2023 21:38:09 +0200, Arnd Bergmann wrote:
> 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.
> 
> [...]

Applied, thanks!

[1/1] RDMA/irdma: fix building without IPv6
      https://git.kernel.org/rdma/rdma/c/b3d2b014b259ba

Best regards,
  

Patch

diff --git a/drivers/infiniband/hw/irdma/cm.c b/drivers/infiniband/hw/irdma/cm.c
index 6b71b67ce9ff0..8ea55c6a3fba5 100644
--- a/drivers/infiniband/hw/irdma/cm.c
+++ b/drivers/infiniband/hw/irdma/cm.c
@@ -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;