diff options
author | Sagi Grimberg <sagig@mellanox.com> | 2014-03-17 06:52:16 -0400 |
---|---|---|
committer | Nicholas Bellinger <nab@linux-iscsi.org> | 2014-04-07 04:48:48 -0400 |
commit | c2caa207774683bddaa628d4c848ca48cc172e0a (patch) | |
tree | eb39eccefc9f45f649efac3aec5b5c4cd53ee0ff /drivers | |
parent | a3662605f66473124501e8c12f7ff44999917e23 (diff) |
Target/iser: Fix signature work requests accounting
As REG_SIG_MR work request and it's LOCAL_INVALIDATE are
not accounted in post_send_buf_count we must color these
with ISER_FASTREG_LI_WRID in order to process their error
completions when the QP flushes.
Signed-off-by: Sagi Grimberg <sagig@mellanox.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/infiniband/ulp/isert/ib_isert.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/infiniband/ulp/isert/ib_isert.c b/drivers/infiniband/ulp/isert/ib_isert.c index f82fe3dccabe..e4ebb4c08358 100644 --- a/drivers/infiniband/ulp/isert/ib_isert.c +++ b/drivers/infiniband/ulp/isert/ib_isert.c | |||
@@ -2610,6 +2610,7 @@ isert_reg_sig_mr(struct isert_conn *isert_conn, struct se_cmd *se_cmd, | |||
2610 | if (!(fr_desc->ind & ISERT_SIG_KEY_VALID)) { | 2610 | if (!(fr_desc->ind & ISERT_SIG_KEY_VALID)) { |
2611 | memset(&inv_wr, 0, sizeof(inv_wr)); | 2611 | memset(&inv_wr, 0, sizeof(inv_wr)); |
2612 | inv_wr.opcode = IB_WR_LOCAL_INV; | 2612 | inv_wr.opcode = IB_WR_LOCAL_INV; |
2613 | inv_wr.wr_id = ISER_FASTREG_LI_WRID; | ||
2613 | inv_wr.ex.invalidate_rkey = pi_ctx->sig_mr->rkey; | 2614 | inv_wr.ex.invalidate_rkey = pi_ctx->sig_mr->rkey; |
2614 | wr = &inv_wr; | 2615 | wr = &inv_wr; |
2615 | /* Bump the key */ | 2616 | /* Bump the key */ |
@@ -2619,6 +2620,7 @@ isert_reg_sig_mr(struct isert_conn *isert_conn, struct se_cmd *se_cmd, | |||
2619 | 2620 | ||
2620 | memset(&sig_wr, 0, sizeof(sig_wr)); | 2621 | memset(&sig_wr, 0, sizeof(sig_wr)); |
2621 | sig_wr.opcode = IB_WR_REG_SIG_MR; | 2622 | sig_wr.opcode = IB_WR_REG_SIG_MR; |
2623 | sig_wr.wr_id = ISER_FASTREG_LI_WRID; | ||
2622 | sig_wr.sg_list = data_sge; | 2624 | sig_wr.sg_list = data_sge; |
2623 | sig_wr.num_sge = 1; | 2625 | sig_wr.num_sge = 1; |
2624 | sig_wr.wr.sig_handover.access_flags = IB_ACCESS_LOCAL_WRITE; | 2626 | sig_wr.wr.sig_handover.access_flags = IB_ACCESS_LOCAL_WRITE; |