aboutsummaryrefslogtreecommitdiffstats
path: root/net/rds/send.c
diff options
context:
space:
mode:
authorAndy Grover <andy.grover@oracle.com>2010-03-31 21:56:25 -0400
committerAndy Grover <andy.grover@oracle.com>2010-09-08 21:12:23 -0400
commitacfcd4d4ec4ed8cb504f96d4fabb7a94029b362b (patch)
treeaf63be50f94cdcb0338095142b1890b75f7ff2e8 /net/rds/send.c
parenta40aa9233aa22d69212d02f92e5b607bd4d658f4 (diff)
RDS: Get pong working again
Call send_xmit() directly from pong() Set pongs as op_active Signed-off-by: Andy Grover <andy.grover@oracle.com>
Diffstat (limited to 'net/rds/send.c')
-rw-r--r--net/rds/send.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/net/rds/send.c b/net/rds/send.c
index 656c5c1b32bc..de5693cdcefb 100644
--- a/net/rds/send.c
+++ b/net/rds/send.c
@@ -1108,6 +1108,7 @@ rds_send_pong(struct rds_connection *conn, __be16 dport)
1108 } 1108 }
1109 1109
1110 rm->m_daddr = conn->c_faddr; 1110 rm->m_daddr = conn->c_faddr;
1111 rm->data.op_active = 1;
1111 1112
1112 /* If the connection is down, trigger a connect. We may 1113 /* If the connection is down, trigger a connect. We may
1113 * have scheduled a delayed reconnect however - in this case 1114 * have scheduled a delayed reconnect however - in this case
@@ -1135,7 +1136,9 @@ rds_send_pong(struct rds_connection *conn, __be16 dport)
1135 rds_stats_inc(s_send_queued); 1136 rds_stats_inc(s_send_queued);
1136 rds_stats_inc(s_send_pong); 1137 rds_stats_inc(s_send_pong);
1137 1138
1138 queue_delayed_work(rds_wq, &conn->c_send_w, 0); 1139 if (!test_bit(RDS_LL_SEND_FULL, &conn->c_flags))
1140 rds_send_xmit(conn);
1141
1139 rds_message_put(rm); 1142 rds_message_put(rm);
1140 return 0; 1143 return 0;
1141 1144