View | Details | Raw Unified | Return to bug 208957
Collapse All | Expand All

(-)ofed/drivers/infiniband/ulp/ipoib/ipoib_cm.c (-2 / +7 lines)
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,

Return to bug 208957