From a59db4db84508d3249e0e9854a5dbf66ea93c32b Mon Sep 17 00:00:00 2001 From: Jack Morgenstein Date: Wed, 24 Dec 2008 20:32:42 -0800 Subject: [PATCH] --- yaml --- r: 121455 b: refs/heads/master c: 7798dbf40ad9d295aa3a02eca700168e4327239a h: refs/heads/master i: 121453: 1afc481fd0b47179e1187b24dc87ad3fa968fc1b 121451: 56db9018c4e33ef220102afacb49d0ee008eccc4 121447: d771066098d48f3f286339b41a1df10b02ab2a6a 121439: a6ade1b26138a92c396bd840ba81bf41e3a6200b v: v3 --- [refs] | 2 +- trunk/drivers/infiniband/hw/mlx4/cq.c | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 2381237d4516..42778bfe712c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f5eda57f9bb17b6f09f7888dfc2c47db7aea45d4 +refs/heads/master: 7798dbf40ad9d295aa3a02eca700168e4327239a diff --git a/trunk/drivers/infiniband/hw/mlx4/cq.c b/trunk/drivers/infiniband/hw/mlx4/cq.c index 2198753bf13d..8415ecce5c4c 100644 --- a/trunk/drivers/infiniband/hw/mlx4/cq.c +++ b/trunk/drivers/infiniband/hw/mlx4/cq.c @@ -325,15 +325,17 @@ static int mlx4_ib_get_outstanding_cqes(struct mlx4_ib_cq *cq) static void mlx4_ib_cq_resize_copy_cqes(struct mlx4_ib_cq *cq) { - struct mlx4_cqe *cqe; + struct mlx4_cqe *cqe, *new_cqe; int i; i = cq->mcq.cons_index; cqe = get_cqe(cq, i & cq->ibcq.cqe); while ((cqe->owner_sr_opcode & MLX4_CQE_OPCODE_MASK) != MLX4_CQE_OPCODE_RESIZE) { - memcpy(get_cqe_from_buf(&cq->resize_buf->buf, - (i + 1) & cq->resize_buf->cqe), - get_cqe(cq, i & cq->ibcq.cqe), sizeof(struct mlx4_cqe)); + new_cqe = get_cqe_from_buf(&cq->resize_buf->buf, + (i + 1) & cq->resize_buf->cqe); + memcpy(new_cqe, get_cqe(cq, i & cq->ibcq.cqe), sizeof(struct mlx4_cqe)); + new_cqe->owner_sr_opcode = (cqe->owner_sr_opcode & ~MLX4_CQE_OWNER_MASK) | + (((i + 1) & (cq->resize_buf->cqe + 1)) ? MLX4_CQE_OWNER_MASK : 0); cqe = get_cqe(cq, ++i & cq->ibcq.cqe); } ++cq->mcq.cons_index;