diff options
author | Andy Grover <andy.grover@oracle.com> | 2010-04-01 03:56:25 +0200 |
---|---|---|
committer | Andy Grover <andy.grover@oracle.com> | 2010-09-09 03:12:23 +0200 |
commit | acfcd4d4ec4ed8cb504f96d4fabb7a94029b362b (patch) | |
tree | af63be50f94cdcb0338095142b1890b75f7ff2e8 /net/rds/send.c | |
parent | RDS: Do wait_event_interruptible instead of wait_event (diff) | |
download | linux-acfcd4d4ec4ed8cb504f96d4fabb7a94029b362b.tar.xz linux-acfcd4d4ec4ed8cb504f96d4fabb7a94029b362b.zip |
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.c | 5 |
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) } rm->m_daddr = conn->c_faddr; + rm->data.op_active = 1; /* If the connection is down, trigger a connect. We may * have scheduled a delayed reconnect however - in this case @@ -1135,7 +1136,9 @@ rds_send_pong(struct rds_connection *conn, __be16 dport) rds_stats_inc(s_send_queued); rds_stats_inc(s_send_pong); - queue_delayed_work(rds_wq, &conn->c_send_w, 0); + if (!test_bit(RDS_LL_SEND_FULL, &conn->c_flags)) + rds_send_xmit(conn); + rds_message_put(rm); return 0; |