|
@@ -130,7 +130,7 @@ static struct rds_connection *__rds_conn_create(__be32 laddr, __be32 faddr,
|
|
rcu_read_lock();
|
|
rcu_read_lock();
|
|
conn = rds_conn_lookup(head, laddr, faddr, trans);
|
|
conn = rds_conn_lookup(head, laddr, faddr, trans);
|
|
if (conn && conn->c_loopback && conn->c_trans != &rds_loop_transport &&
|
|
if (conn && conn->c_loopback && conn->c_trans != &rds_loop_transport &&
|
|
- !is_outgoing) {
|
|
|
|
|
|
+ laddr == faddr && !is_outgoing) {
|
|
/* This is a looped back IB connection, and we're
|
|
/* This is a looped back IB connection, and we're
|
|
* called by the code handling the incoming connect.
|
|
* called by the code handling the incoming connect.
|
|
* We need a second connection object into which we
|
|
* We need a second connection object into which we
|