diff options
Diffstat (limited to 'drivers/infiniband/core/addr.c')
| -rw-r--r-- | drivers/infiniband/core/addr.c | 7 | 
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/infiniband/core/addr.c b/drivers/infiniband/core/addr.c index 6d7ec371e7b2..606fa6d86685 100644 --- a/drivers/infiniband/core/addr.c +++ b/drivers/infiniband/core/addr.c @@ -421,16 +421,15 @@ static int addr6_resolve(struct sockaddr *src_sock,  				(const struct sockaddr_in6 *)dst_sock;  	struct flowi6 fl6;  	struct dst_entry *dst; -	int ret;  	memset(&fl6, 0, sizeof fl6);  	fl6.daddr = dst_in->sin6_addr;  	fl6.saddr = src_in->sin6_addr;  	fl6.flowi6_oif = addr->bound_dev_if; -	ret = ipv6_stub->ipv6_dst_lookup(addr->net, NULL, &dst, &fl6); -	if (ret < 0) -		return ret; +	dst = ipv6_stub->ipv6_dst_lookup_flow(addr->net, NULL, &fl6, NULL); +	if (IS_ERR(dst)) +		return PTR_ERR(dst);  	if (ipv6_addr_any(&src_in->sin6_addr))  		src_in->sin6_addr = fl6.saddr;  |