Lines 484-489
Link Here
|
484 |
ipoib_dbg_data(priv, "cm recv completion: id %d, status: %d\n", |
484 |
ipoib_dbg_data(priv, "cm recv completion: id %d, status: %d\n", |
485 |
wr_id, wc->status); |
485 |
wr_id, wc->status); |
486 |
|
486 |
|
|
|
487 |
CURVNET_SET_QUIET(dev->if_vnet); |
488 |
|
487 |
if (unlikely(wr_id >= ipoib_recvq_size)) { |
489 |
if (unlikely(wr_id >= ipoib_recvq_size)) { |
488 |
if (wr_id == (IPOIB_CM_RX_DRAIN_WRID & ~(IPOIB_OP_CM | IPOIB_OP_RECV))) { |
490 |
if (wr_id == (IPOIB_CM_RX_DRAIN_WRID & ~(IPOIB_OP_CM | IPOIB_OP_RECV))) { |
489 |
spin_lock(&priv->lock); |
491 |
spin_lock(&priv->lock); |
Lines 496-502
Link Here
|
496 |
} else |
498 |
} else |
497 |
ipoib_warn(priv, "cm recv completion event with wrid %d (> %d)\n", |
499 |
ipoib_warn(priv, "cm recv completion event with wrid %d (> %d)\n", |
498 |
wr_id, ipoib_recvq_size); |
500 |
wr_id, ipoib_recvq_size); |
499 |
return; |
501 |
goto done; |
500 |
} |
502 |
} |
501 |
|
503 |
|
502 |
p = wc->qp->qp_context; |
504 |
p = wc->qp->qp_context; |
Lines 520-526
Link Here
|
520 |
queue_work(ipoib_workqueue, &priv->cm.rx_reap_task); |
522 |
queue_work(ipoib_workqueue, &priv->cm.rx_reap_task); |
521 |
spin_unlock(&priv->lock); |
523 |
spin_unlock(&priv->lock); |
522 |
} |
524 |
} |
523 |
return; |
525 |
goto done; |
524 |
} |
526 |
} |
525 |
} |
527 |
} |
526 |
|
528 |
|
Lines 579-584
Link Here
|
579 |
"for buf %d\n", wr_id); |
581 |
"for buf %d\n", wr_id); |
580 |
} |
582 |
} |
581 |
} |
583 |
} |
|
|
584 |
done: |
585 |
CURVNET_RESTORE(); |
586 |
return; |
582 |
} |
587 |
} |
583 |
|
588 |
|
584 |
static inline int post_send(struct ipoib_dev_priv *priv, |
589 |
static inline int post_send(struct ipoib_dev_priv *priv, |