Message ID | 20161228124728.26619-8-leon@kernel.org (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
On Wed, Dec 28, 2016 at 02:47:26PM +0200, Leon Romanovsky wrote: > From: Feras Daoud <ferasda@mellanox.com> > > If a receive request has not been posted to the work queue, the incoming > message is rejected and the peer will receive a receiver-not-ready (RNR) > error. In IPoIB, IB_WC_RNR_RETRY_EXC_ERR error is part of the life cycle > therefore ipoib_cm_handle_tx_wc function will print to debug instead > of warnings. > > Signed-off-by: Feras Daoud <ferasda@mellanox.com> > Signed-off-by: Erez Shitrit <erezsh@mellanox.com> > Signed-off-by: Leon Romanovsky <leon@kernel.org> > --- > drivers/infiniband/ulp/ipoib/ipoib_cm.c | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > > diff --git a/drivers/infiniband/ulp/ipoib/ipoib_cm.c b/drivers/infiniband/ulp/ipoib/ipoib_cm.c > index a720d2d..c433e72 100644 > --- a/drivers/infiniband/ulp/ipoib/ipoib_cm.c > +++ b/drivers/infiniband/ulp/ipoib/ipoib_cm.c > @@ -820,9 +820,12 @@ 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; > > - ipoib_dbg(priv, "failed cm send event " > - "(status=%d, wrid=%d vend_err %x)\n", > - wc->status, wr_id, wc->vendor_err); > + 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); > + else > + ipoib_dbg(priv, "failed cm send event (status=%d, wrid=%d vend_err %x)\n", > + wc->status, wr_id, wc->vendor_err); > > spin_lock_irqsave(&priv->lock, flags); > neigh = tx->neigh; Reviewed-by: Yuval Shaia <yuval.shaia@oracle.com> > -- > 2.10.2 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-rdma" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_cm.c b/drivers/infiniband/ulp/ipoib/ipoib_cm.c index a720d2d..c433e72 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_cm.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_cm.c @@ -820,9 +820,12 @@ 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; - ipoib_dbg(priv, "failed cm send event " - "(status=%d, wrid=%d vend_err %x)\n", - wc->status, wr_id, wc->vendor_err); + 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); + else + ipoib_dbg(priv, "failed cm send event (status=%d, wrid=%d vend_err %x)\n", + wc->status, wr_id, wc->vendor_err); spin_lock_irqsave(&priv->lock, flags); neigh = tx->neigh;