diff options
author | Ingo Molnar <mingo@kernel.org> | 2018-03-12 14:14:57 +0300 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2018-03-12 14:14:57 +0300 |
commit | 9884afa2fdce71cd35bb79303f9050f0d76e3d03 (patch) | |
tree | e4bd1187eee271fd93b8a99c5a951afaa53c4d80 /drivers/infiniband/core/addr.c | |
parent | fbfcd0199170984bd3c2812e49ed0fe7b226959a (diff) | |
parent | 0c8efd610b58cb23cefdfa12015799079aef94ae (diff) | |
download | linux-9884afa2fdce71cd35bb79303f9050f0d76e3d03.tar.xz |
Merge tag 'v4.16-rc5' into locking/core, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
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; } |