diff options
author | Santosh Shilimkar <[email protected]> | 2017-09-07 13:38:18 +0300 |
---|---|---|
committer | Doug Ledford <[email protected]> | 2017-09-22 13:12:36 -0400 |
commit | af3c79beff48fb2bd1c79d02688004cf57215acf (patch) | |
tree | 5fe21cabc2a117af16d63d44df52cda7f2264f3d | |
parent | 8b1bbf36b7452c4acb20e91948eaa5e225ea6978 (diff) |
IB/ipoib: Suppress the retry related completion errors
IPoIB doesn't support transport/rnr retry schemes as per
RFC so those errors are expected. No need to flood the
log files with them.
Tested-by: Michael Nowak <[email protected]>
Tested-by: Rafael Alejandro Peralez <[email protected]>
Tested-by: Liwen Huang <[email protected]>
Tested-by: Hong Liu <[email protected]>
Reviewed-by: Mukesh Kacker <[email protected]>
Reported-by: Rajiv Raja <[email protected]>
Signed-off-by: Santosh Shilimkar <[email protected]>
Signed-off-by: Yuval Shaia <[email protected]>
Signed-off-by: Doug Ledford <[email protected]>
-rw-r--r-- | drivers/infiniband/ulp/ipoib/ipoib_cm.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_cm.c b/drivers/infiniband/ulp/ipoib/ipoib_cm.c index 14b62f7472b4..7774654c2ccb 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_cm.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_cm.c @@ -823,12 +823,18 @@ void ipoib_cm_handle_tx_wc(struct net_device *dev, struct ib_wc *wc) wc->status != IB_WC_WR_FLUSH_ERR) { struct ipoib_neigh *neigh; - if (wc->status != IB_WC_RNR_RETRY_EXC_ERR) - ipoib_warn(priv, "failed cm send event (status=%d, wrid=%d vend_err %x)\n", - wc->status, wr_id, wc->vendor_err); + /* IB_WC[_RNR]_RETRY_EXC_ERR error is part of the life cycle, + * so don't make waves. + */ + if (wc->status == IB_WC_RNR_RETRY_EXC_ERR || + wc->status == IB_WC_RETRY_EXC_ERR) + ipoib_dbg(priv, + "%s: failed cm send event (status=%d, wrid=%d vend_err 0x%x)\n", + __func__, wc->status, wr_id, wc->vendor_err); else - ipoib_dbg(priv, "failed cm send event (status=%d, wrid=%d vend_err %x)\n", - wc->status, wr_id, wc->vendor_err); + ipoib_warn(priv, + "%s: failed cm send event (status=%d, wrid=%d vend_err 0x%x)\n", + __func__, wc->status, wr_id, wc->vendor_err); spin_lock_irqsave(&priv->lock, flags); neigh = tx->neigh; |