diff options
Diffstat (limited to 'net/rds/connection.c')
-rw-r--r-- | net/rds/connection.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/net/rds/connection.c b/net/rds/connection.c index cc8b568c0c84..278f607ab603 100644 --- a/net/rds/connection.c +++ b/net/rds/connection.c | |||
@@ -133,10 +133,8 @@ static struct rds_connection *__rds_conn_create(__be32 laddr, __be32 faddr, | |||
133 | 133 | ||
134 | spin_lock_irqsave(&rds_conn_lock, flags); | 134 | spin_lock_irqsave(&rds_conn_lock, flags); |
135 | conn = rds_conn_lookup(head, laddr, faddr, trans); | 135 | conn = rds_conn_lookup(head, laddr, faddr, trans); |
136 | if (conn | 136 | if (conn && conn->c_loopback && conn->c_trans != &rds_loop_transport && |
137 | && conn->c_loopback | 137 | !is_outgoing) { |
138 | && conn->c_trans != &rds_loop_transport | ||
139 | && !is_outgoing) { | ||
140 | /* This is a looped back IB connection, and we're | 138 | /* This is a looped back IB connection, and we're |
141 | * called by the code handling the incoming connect. | 139 | * called by the code handling the incoming connect. |
142 | * We need a second connection object into which we | 140 | * We need a second connection object into which we |