summaryrefslogtreecommitdiffstats
path: root/net/rds/send.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/rds/send.c')
-rw-r--r--net/rds/send.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/net/rds/send.c b/net/rds/send.c
index c555e121b908..166dd578c1cc 100644
--- a/net/rds/send.c
+++ b/net/rds/send.c
@@ -1277,12 +1277,13 @@ int rds_sendmsg(struct socket *sock, struct msghdr *msg, size_t payload_len)
1277 1277
1278 /* rds_conn_create has a spinlock that runs with IRQ off. 1278 /* rds_conn_create has a spinlock that runs with IRQ off.
1279 * Caching the conn in the socket helps a lot. */ 1279 * Caching the conn in the socket helps a lot. */
1280 if (rs->rs_conn && ipv6_addr_equal(&rs->rs_conn->c_faddr, &daddr)) { 1280 if (rs->rs_conn && ipv6_addr_equal(&rs->rs_conn->c_faddr, &daddr) &&
1281 rs->rs_tos == rs->rs_conn->c_tos) {
1281 conn = rs->rs_conn; 1282 conn = rs->rs_conn;
1282 } else { 1283 } else {
1283 conn = rds_conn_create_outgoing(sock_net(sock->sk), 1284 conn = rds_conn_create_outgoing(sock_net(sock->sk),
1284 &rs->rs_bound_addr, &daddr, 1285 &rs->rs_bound_addr, &daddr,
1285 rs->rs_transport, 0, 1286 rs->rs_transport, rs->rs_tos,
1286 sock->sk->sk_allocation, 1287 sock->sk->sk_allocation,
1287 scope_id); 1288 scope_id);
1288 if (IS_ERR(conn)) { 1289 if (IS_ERR(conn)) {