Lines Matching refs:wc
176 static void ipoib_ib_handle_rx_wc(struct net_device *dev, struct ib_wc *wc) in ipoib_ib_handle_rx_wc() argument
179 unsigned int wr_id = wc->wr_id & ~IPOIB_OP_RECV; in ipoib_ib_handle_rx_wc()
185 wr_id, wc->status); in ipoib_ib_handle_rx_wc()
195 if (unlikely(wc->status != IB_WC_SUCCESS)) { in ipoib_ib_handle_rx_wc()
196 if (wc->status != IB_WC_WR_FLUSH_ERR) in ipoib_ib_handle_rx_wc()
199 wc->status, wr_id, wc->vendor_err); in ipoib_ib_handle_rx_wc()
210 if (wc->slid == priv->local_lid && wc->src_qp == priv->qp->qp_num) in ipoib_ib_handle_rx_wc()
226 wc->byte_len, wc->slid); in ipoib_ib_handle_rx_wc()
230 skb_put(skb, wc->byte_len); in ipoib_ib_handle_rx_wc()
235 if (!(wc->wc_flags & IB_WC_GRH) || dgid->raw[0] != 0xff) in ipoib_ib_handle_rx_wc()
255 likely(wc->wc_flags & IB_WC_IP_CSUM_OK)) in ipoib_ib_handle_rx_wc()
375 static void ipoib_ib_handle_tx_wc(struct net_device *dev, struct ib_wc *wc) in ipoib_ib_handle_tx_wc() argument
378 unsigned int wr_id = wc->wr_id; in ipoib_ib_handle_tx_wc()
382 wr_id, wc->status); in ipoib_ib_handle_tx_wc()
405 if (wc->status != IB_WC_SUCCESS && in ipoib_ib_handle_tx_wc()
406 wc->status != IB_WC_WR_FLUSH_ERR) { in ipoib_ib_handle_tx_wc()
410 wc->status, wr_id, wc->vendor_err); in ipoib_ib_handle_tx_wc()
453 struct ib_wc *wc = priv->ibwc + i; in ipoib_poll() local
455 if (wc->wr_id & IPOIB_OP_RECV) { in ipoib_poll()
457 if (wc->wr_id & IPOIB_OP_CM) in ipoib_poll()
458 ipoib_cm_handle_rx_wc(dev, wc); in ipoib_poll()
460 ipoib_ib_handle_rx_wc(dev, wc); in ipoib_poll()
462 ipoib_cm_handle_tx_wc(priv->dev, wc); in ipoib_poll()