diff options
author | Hariprasad S <hariprasad@chelsio.com> | 2015-09-08 09:56:58 +0530 |
---|---|---|
committer | Doug Ledford <dledford@redhat.com> | 2015-10-21 17:16:10 -0400 |
commit | 158c776dba1f6b5eb2e3d5327cda719dc4820c1c (patch) | |
tree | 4a21413884b2b7405c5e60d1d0ac5d13acf9126c /drivers/infiniband | |
parent | 99718e59fa8425753a8ec2aceb9ec3faa865eeb6 (diff) | |
download | talos-op-linux-158c776dba1f6b5eb2e3d5327cda719dc4820c1c.tar.gz talos-op-linux-158c776dba1f6b5eb2e3d5327cda719dc4820c1c.zip |
iw_cxgb4: pass the ord/ird in connect reply events
This allows client ULPs to get the negotiated ord/ird which is useful
to avoid stalling the SQ due to exceeding the ORD.
Signed-off-by: Hariprasad Shenai <hariprasad@chelsio.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'drivers/infiniband')
-rw-r--r-- | drivers/infiniband/hw/cxgb4/cm.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c index 24efe52f1d68..a6aae913850c 100644 --- a/drivers/infiniband/hw/cxgb4/cm.c +++ b/drivers/infiniband/hw/cxgb4/cm.c @@ -1196,6 +1196,8 @@ static void connect_reply_upcall(struct c4iw_ep *ep, int status) if ((status == 0) || (status == -ECONNREFUSED)) { if (!ep->tried_with_mpa_v1) { /* this means MPA_v2 is used */ + event.ord = ep->ird; + event.ird = ep->ord; event.private_data_len = ep->plen - sizeof(struct mpa_v2_conn_params); event.private_data = ep->mpa_pkt + @@ -1203,6 +1205,8 @@ static void connect_reply_upcall(struct c4iw_ep *ep, int status) sizeof(struct mpa_v2_conn_params); } else { /* this means MPA_v1 is used */ + event.ord = cur_max_read_depth(ep->com.dev); + event.ird = cur_max_read_depth(ep->com.dev); event.private_data_len = ep->plen; event.private_data = ep->mpa_pkt + sizeof(struct mpa_message); |