Logs vendor error if work requests fail. Vendor error provides
more information that is used for debugging the issue.

Signed-off-by: Sudhakar Dindukurti <sudhakar.dinduku...@oracle.com>
---
 net/rds/ib_recv.c | 5 +++--
 net/rds/ib_send.c | 4 ++--
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/net/rds/ib_recv.c b/net/rds/ib_recv.c
index 3cae88c..e668bac 100644
--- a/net/rds/ib_recv.c
+++ b/net/rds/ib_recv.c
@@ -983,10 +983,11 @@ void rds_ib_recv_cqe_handler(struct rds_ib_connection *ic,
        } else {
                /* We expect errors as the qp is drained during shutdown */
                if (rds_conn_up(conn) || rds_conn_connecting(conn))
-                       rds_ib_conn_error(conn, "recv completion on 
<%pI6c,%pI6c, %d> had status %u (%s), disconnecting and reconnecting\n",
+                       rds_ib_conn_error(conn, "recv completion on 
<%pI6c,%pI6c, %d> had status %u (%s), vendor err 0x%x, disconnecting and 
reconnecting\n",
                                          &conn->c_laddr, &conn->c_faddr,
                                          conn->c_tos, wc->status,
-                                         ib_wc_status_msg(wc->status));
+                                         ib_wc_status_msg(wc->status),
+                                         wc->vendor_err);
        }
 
        /* rds_ib_process_recv() doesn't always consume the frag, and
diff --git a/net/rds/ib_send.c b/net/rds/ib_send.c
index dfe6237..102c5c5 100644
--- a/net/rds/ib_send.c
+++ b/net/rds/ib_send.c
@@ -300,10 +300,10 @@ void rds_ib_send_cqe_handler(struct rds_ib_connection 
*ic, struct ib_wc *wc)
 
        /* We expect errors as the qp is drained during shutdown */
        if (wc->status != IB_WC_SUCCESS && rds_conn_up(conn)) {
-               rds_ib_conn_error(conn, "send completion on <%pI6c,%pI6c,%d> 
had status %u (%s), disconnecting and reconnecting\n",
+               rds_ib_conn_error(conn, "send completion on <%pI6c,%pI6c,%d> 
had status %u (%s), vendor err 0x%x, disconnecting and reconnecting\n",
                                  &conn->c_laddr, &conn->c_faddr,
                                  conn->c_tos, wc->status,
-                                 ib_wc_status_msg(wc->status));
+                                 ib_wc_status_msg(wc->status), wc->vendor_err);
        }
 }
 
-- 
1.8.3.1

Reply via email to