RDMA/cxgb4: Handle NET_XMIT return codes
authorHariprasad S <hariprasad@chelsio.com>
Mon, 8 Dec 2014 09:32:47 +0000 (15:02 +0530)
committerRoland Dreier <roland@purestorage.com>
Tue, 16 Dec 2014 02:10:46 +0000 (18:10 -0800)
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>
drivers/infiniband/hw/cxgb4/cm.c

index 00756210b7a8dcec48cbf01b8e67a9ea0f22036a..9edc200b311d861a9faa3eb0c051c5c9c7fbf3cc 100644 (file)
@@ -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"