Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit af3c79be authored by Santosh Shilimkar's avatar Santosh Shilimkar Committed by Doug Ledford
Browse files

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: default avatarMichael Nowak <michael.nowak@oracle.com>
Tested-by: default avatarRafael Alejandro Peralez <rafael.peralez@oracle.com>
Tested-by: default avatarLiwen Huang <liwen.huang@oracle.com>
Tested-by: default avatarHong Liu <hong.x.liu@oracle.com>
Reviewed-by: default avatarMukesh Kacker <mukesh.kacker@oracle.com>
Reported-by: default avatarRajiv Raja <rajiv.raja@oracle.com>
Signed-off-by: default avatarSantosh Shilimkar <santosh.shilimkar@oracle.com>
Signed-off-by: default avatarYuval Shaia <yuval.shaia@oracle.com>
Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
parent 8b1bbf36
Loading
Loading
Loading
Loading
+11 −5
Original line number Diff line number Diff line
@@ -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;