diff options
Diffstat (limited to 'net/rds/iw_send.c')
-rw-r--r-- | net/rds/iw_send.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/net/rds/iw_send.c b/net/rds/iw_send.c index 1f5abe3cf2b4..1379e9d66a78 100644 --- a/net/rds/iw_send.c +++ b/net/rds/iw_send.c | |||
@@ -288,8 +288,8 @@ void rds_iw_send_cq_comp_handler(struct ib_cq *cq, void *context) | |||
288 | 288 | ||
289 | rds_iw_ring_free(&ic->i_send_ring, completed); | 289 | rds_iw_ring_free(&ic->i_send_ring, completed); |
290 | 290 | ||
291 | if (test_and_clear_bit(RDS_LL_SEND_FULL, &conn->c_flags) | 291 | if (test_and_clear_bit(RDS_LL_SEND_FULL, &conn->c_flags) || |
292 | || test_bit(0, &conn->c_map_queued)) | 292 | test_bit(0, &conn->c_map_queued)) |
293 | queue_delayed_work(rds_wq, &conn->c_send_w, 0); | 293 | queue_delayed_work(rds_wq, &conn->c_send_w, 0); |
294 | 294 | ||
295 | /* We expect errors as the qp is drained during shutdown */ | 295 | /* We expect errors as the qp is drained during shutdown */ |
@@ -519,8 +519,7 @@ int rds_iw_xmit(struct rds_connection *conn, struct rds_message *rm, | |||
519 | BUG_ON(hdr_off != 0 && hdr_off != sizeof(struct rds_header)); | 519 | BUG_ON(hdr_off != 0 && hdr_off != sizeof(struct rds_header)); |
520 | 520 | ||
521 | /* Fastreg support */ | 521 | /* Fastreg support */ |
522 | if (rds_rdma_cookie_key(rm->m_rdma_cookie) | 522 | if (rds_rdma_cookie_key(rm->m_rdma_cookie) && !ic->i_fastreg_posted) { |
523 | && !ic->i_fastreg_posted) { | ||
524 | ret = -EAGAIN; | 523 | ret = -EAGAIN; |
525 | goto out; | 524 | goto out; |
526 | } | 525 | } |