diff options
author | Hariprasad S <hariprasad@chelsio.com> | 2014-12-08 10:32:47 +0100 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2014-12-16 03:10:46 +0100 |
commit | e6b11163d41d288a9c5732b85bf6760eb817d3e1 (patch) | |
tree | b02ad003de9c67c87c6c272d588505c6a0e9b615 /drivers/infiniband/hw/cxgb4 | |
parent | RDMA/cxgb4: Wake up waiters after flushing the qp (diff) | |
download | linux-e6b11163d41d288a9c5732b85bf6760eb817d3e1.tar.xz linux-e6b11163d41d288a9c5732b85bf6760eb817d3e1.zip |
RDMA/cxgb4: Handle NET_XMIT return codes
cxgb4_create_server() and cxgb4_create_server6() return NET_XMIT_*
values or a negative errno. iw_cxgb4 need to handle this correctly.
Signed-off-by: Hariprasad Shenai <hariprasad@chelsio.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/infiniband/hw/cxgb4')
-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 00756210b7a8..9edc200b311d 100644 --- a/drivers/infiniband/hw/cxgb4/cm.c +++ b/drivers/infiniband/hw/cxgb4/cm.c @@ -3127,6 +3127,8 @@ static int create_server6(struct c4iw_dev *dev, struct c4iw_listen_ep *ep) err = c4iw_wait_for_reply(&ep->com.dev->rdev, &ep->com.wr_wait, 0, 0, __func__); + else if (err > 0) + err = net_xmit_errno(err); if (err) pr_err("cxgb4_create_server6/filter failed err %d stid %d laddr %pI6 lport %d\n", err, ep->stid, @@ -3160,6 +3162,8 @@ static int create_server4(struct c4iw_dev *dev, struct c4iw_listen_ep *ep) err = c4iw_wait_for_reply(&ep->com.dev->rdev, &ep->com.wr_wait, 0, 0, __func__); + else if (err > 0) + err = net_xmit_errno(err); } if (err) pr_err("cxgb4_create_server/filter failed err %d stid %d laddr %pI4 lport %d\n" |