diff options
| -rw-r--r-- | drivers/infiniband/hw/ipath/ipath_ruc.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/infiniband/hw/ipath/ipath_ruc.c b/drivers/infiniband/hw/ipath/ipath_ruc.c index fc0f6d9e6030..2296832f94da 100644 --- a/drivers/infiniband/hw/ipath/ipath_ruc.c +++ b/drivers/infiniband/hw/ipath/ipath_ruc.c | |||
| @@ -156,7 +156,7 @@ bail: | |||
| 156 | /** | 156 | /** |
| 157 | * ipath_get_rwqe - copy the next RWQE into the QP's RWQE | 157 | * ipath_get_rwqe - copy the next RWQE into the QP's RWQE |
| 158 | * @qp: the QP | 158 | * @qp: the QP |
| 159 | * @wr_id_only: update wr_id only, not SGEs | 159 | * @wr_id_only: update qp->r_wr_id only, not qp->r_sge |
| 160 | * | 160 | * |
| 161 | * Return 0 if no RWQE is available, otherwise return 1. | 161 | * Return 0 if no RWQE is available, otherwise return 1. |
| 162 | * | 162 | * |
| @@ -173,8 +173,6 @@ int ipath_get_rwqe(struct ipath_qp *qp, int wr_id_only) | |||
| 173 | u32 tail; | 173 | u32 tail; |
| 174 | int ret; | 174 | int ret; |
| 175 | 175 | ||
| 176 | qp->r_sge.sg_list = qp->r_sg_list; | ||
| 177 | |||
| 178 | if (qp->ibqp.srq) { | 176 | if (qp->ibqp.srq) { |
| 179 | srq = to_isrq(qp->ibqp.srq); | 177 | srq = to_isrq(qp->ibqp.srq); |
| 180 | handler = srq->ibsrq.event_handler; | 178 | handler = srq->ibsrq.event_handler; |
| @@ -206,8 +204,10 @@ int ipath_get_rwqe(struct ipath_qp *qp, int wr_id_only) | |||
| 206 | wqe = get_rwqe_ptr(rq, tail); | 204 | wqe = get_rwqe_ptr(rq, tail); |
| 207 | if (++tail >= rq->size) | 205 | if (++tail >= rq->size) |
| 208 | tail = 0; | 206 | tail = 0; |
| 209 | } while (!wr_id_only && !ipath_init_sge(qp, wqe, &qp->r_len, | 207 | if (wr_id_only) |
| 210 | &qp->r_sge)); | 208 | break; |
| 209 | qp->r_sge.sg_list = qp->r_sg_list; | ||
| 210 | } while (!ipath_init_sge(qp, wqe, &qp->r_len, &qp->r_sge)); | ||
| 211 | qp->r_wr_id = wqe->wr_id; | 211 | qp->r_wr_id = wqe->wr_id; |
| 212 | wq->tail = tail; | 212 | wq->tail = tail; |
| 213 | 213 | ||
