Lines Matching refs:wc
228 static void ipoib_ib_handle_rx_wc(struct net_device *dev, struct ib_wc *wc) in ipoib_ib_handle_rx_wc() argument
231 unsigned int wr_id = wc->wr_id & ~IPOIB_OP_RECV; in ipoib_ib_handle_rx_wc()
237 wr_id, wc->status); in ipoib_ib_handle_rx_wc()
247 if (unlikely(wc->status != IB_WC_SUCCESS)) { in ipoib_ib_handle_rx_wc()
248 if (wc->status != IB_WC_WR_FLUSH_ERR) in ipoib_ib_handle_rx_wc()
251 wc->status, wr_id, wc->vendor_err); in ipoib_ib_handle_rx_wc()
262 if (wc->slid == priv->local_lid && wc->src_qp == priv->qp->qp_num) in ipoib_ib_handle_rx_wc()
278 wc->byte_len, wc->slid); in ipoib_ib_handle_rx_wc()
281 ipoib_ud_skb_put_frags(priv, skb, wc->byte_len); in ipoib_ib_handle_rx_wc()
286 if (!(wc->wc_flags & IB_WC_GRH) || dgid->raw[0] != 0xff) in ipoib_ib_handle_rx_wc()
304 likely(wc->wc_flags & IB_WC_IP_CSUM_OK)) in ipoib_ib_handle_rx_wc()
379 static void ipoib_ib_handle_tx_wc(struct net_device *dev, struct ib_wc *wc) in ipoib_ib_handle_tx_wc() argument
382 unsigned int wr_id = wc->wr_id; in ipoib_ib_handle_tx_wc()
386 wr_id, wc->status); in ipoib_ib_handle_tx_wc()
409 if (wc->status != IB_WC_SUCCESS && in ipoib_ib_handle_tx_wc()
410 wc->status != IB_WC_WR_FLUSH_ERR) in ipoib_ib_handle_tx_wc()
413 wc->status, wr_id, wc->vendor_err); in ipoib_ib_handle_tx_wc()
445 struct ib_wc *wc = priv->ibwc + i; in ipoib_poll() local
447 if (wc->wr_id & IPOIB_OP_RECV) { in ipoib_poll()
449 if (wc->wr_id & IPOIB_OP_CM) in ipoib_poll()
450 ipoib_cm_handle_rx_wc(dev, wc); in ipoib_poll()
452 ipoib_ib_handle_rx_wc(dev, wc); in ipoib_poll()
454 ipoib_cm_handle_tx_wc(priv->dev, wc); in ipoib_poll()