diff options
| author | Thomas Gleixner <tglx@linutronix.de> | 2018-03-14 20:23:25 +0100 | 
|---|---|---|
| committer | Thomas Gleixner <tglx@linutronix.de> | 2018-03-14 20:23:25 +0100 | 
| commit | 745dd37f9d67c75d6cf1a1bebfcca71bdeb7a34c (patch) | |
| tree | e556543ed86b7f49e4972d8ea048ff9e46592b4d /drivers/infiniband/core/addr.c | |
| parent | 02428742639bc3300c8c527b054d0ec0bdf5571d (diff) | |
| parent | 18a955219bf7d9008ce480d4451b6b8bf4483a22 (diff) | |
Merge branch 'x86/urgent' into x86/mm to pick up dependencies
Diffstat (limited to 'drivers/infiniband/core/addr.c')
| -rw-r--r-- | drivers/infiniband/core/addr.c | 15 | 
1 files changed, 5 insertions, 10 deletions
diff --git a/drivers/infiniband/core/addr.c b/drivers/infiniband/core/addr.c index a5b4cf030c11..9183d148d644 100644 --- a/drivers/infiniband/core/addr.c +++ b/drivers/infiniband/core/addr.c @@ -550,18 +550,13 @@ static int addr_resolve(struct sockaddr *src_in,  		dst_release(dst);  	} -	if (ndev->flags & IFF_LOOPBACK) { -		ret = rdma_translate_ip(dst_in, addr); -		/* -		 * Put the loopback device and get the translated -		 * device instead. -		 */ +	if (ndev) { +		if (ndev->flags & IFF_LOOPBACK) +			ret = rdma_translate_ip(dst_in, addr); +		else +			addr->bound_dev_if = ndev->ifindex;  		dev_put(ndev); -		ndev = dev_get_by_index(addr->net, addr->bound_dev_if); -	} else { -		addr->bound_dev_if = ndev->ifindex;  	} -	dev_put(ndev);  	return ret;  }  | 
