IB/mthca: reset QP's last pointers when transitioning to reset state
last pointer is not updated when QP is modified to reset state. This causes data corruption if WQEs are already posted on the queue. Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
This commit is contained in:

committato da
Roland Dreier

parent
458af5439f
commit
187a25863f
@@ -871,7 +871,10 @@ int mthca_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, int attr_mask)
|
||||
qp->ibqp.srq ? to_msrq(qp->ibqp.srq) : NULL);
|
||||
|
||||
mthca_wq_init(&qp->sq);
|
||||
qp->sq.last = get_send_wqe(qp, qp->sq.max - 1);
|
||||
|
||||
mthca_wq_init(&qp->rq);
|
||||
qp->rq.last = get_recv_wqe(qp, qp->rq.max - 1);
|
||||
|
||||
if (mthca_is_memfree(dev)) {
|
||||
*qp->sq.db = 0;
|
||||
|
Fai riferimento in un nuovo problema
Block a user