diff options
Diffstat (limited to 'drivers/infiniband/core/cma.c')
-rw-r--r-- | drivers/infiniband/core/cma.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c index fbdd7310600..875e34e0b23 100644 --- a/drivers/infiniband/core/cma.c +++ b/drivers/infiniband/core/cma.c | |||
@@ -2083,7 +2083,7 @@ static int cma_get_port(struct rdma_id_private *id_priv) | |||
2083 | static int cma_check_linklocal(struct rdma_dev_addr *dev_addr, | 2083 | static int cma_check_linklocal(struct rdma_dev_addr *dev_addr, |
2084 | struct sockaddr *addr) | 2084 | struct sockaddr *addr) |
2085 | { | 2085 | { |
2086 | #if defined(CONFIG_IPv6) || defined(CONFIG_IPV6_MODULE) | 2086 | #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) |
2087 | struct sockaddr_in6 *sin6; | 2087 | struct sockaddr_in6 *sin6; |
2088 | 2088 | ||
2089 | if (addr->sa_family != AF_INET6) | 2089 | if (addr->sa_family != AF_INET6) |
@@ -2115,9 +2115,7 @@ int rdma_bind_addr(struct rdma_cm_id *id, struct sockaddr *addr) | |||
2115 | if (ret) | 2115 | if (ret) |
2116 | goto err1; | 2116 | goto err1; |
2117 | 2117 | ||
2118 | if (cma_loopback_addr(addr)) { | 2118 | if (!cma_any_addr(addr)) { |
2119 | ret = cma_bind_loopback(id_priv); | ||
2120 | } else if (!cma_zero_addr(addr)) { | ||
2121 | ret = rdma_translate_ip(addr, &id->route.addr.dev_addr); | 2119 | ret = rdma_translate_ip(addr, &id->route.addr.dev_addr); |
2122 | if (ret) | 2120 | if (ret) |
2123 | goto err1; | 2121 | goto err1; |