diff options
-rw-r--r-- | drivers/infiniband/hw/i40iw/i40iw_uk.c | 11 | ||||
-rw-r--r-- | drivers/infiniband/hw/i40iw/i40iw_user.h | 2 | ||||
-rw-r--r-- | drivers/infiniband/hw/i40iw/i40iw_verbs.c | 2 |
3 files changed, 6 insertions, 9 deletions
diff --git a/drivers/infiniband/hw/i40iw/i40iw_uk.c b/drivers/infiniband/hw/i40iw/i40iw_uk.c index e35faea88c13..cea0b8a5d7c5 100644 --- a/drivers/infiniband/hw/i40iw/i40iw_uk.c +++ b/drivers/infiniband/hw/i40iw/i40iw_uk.c | |||
@@ -753,8 +753,7 @@ static enum i40iw_status_code i40iw_cq_post_entries(struct i40iw_cq_uk *cq, | |||
753 | * @post_cq: update cq tail | 753 | * @post_cq: update cq tail |
754 | */ | 754 | */ |
755 | static enum i40iw_status_code i40iw_cq_poll_completion(struct i40iw_cq_uk *cq, | 755 | static enum i40iw_status_code i40iw_cq_poll_completion(struct i40iw_cq_uk *cq, |
756 | struct i40iw_cq_poll_info *info, | 756 | struct i40iw_cq_poll_info *info) |
757 | bool post_cq) | ||
758 | { | 757 | { |
759 | u64 comp_ctx, qword0, qword2, qword3, wqe_qword; | 758 | u64 comp_ctx, qword0, qword2, qword3, wqe_qword; |
760 | u64 *cqe, *sw_wqe; | 759 | u64 *cqe, *sw_wqe; |
@@ -878,11 +877,9 @@ exit: | |||
878 | if (I40IW_RING_GETCURRENT_HEAD(cq->cq_ring) == 0) | 877 | if (I40IW_RING_GETCURRENT_HEAD(cq->cq_ring) == 0) |
879 | cq->polarity ^= 1; | 878 | cq->polarity ^= 1; |
880 | 879 | ||
881 | if (post_cq) { | 880 | I40IW_RING_MOVE_TAIL(cq->cq_ring); |
882 | I40IW_RING_MOVE_TAIL(cq->cq_ring); | 881 | set_64bit_val(cq->shadow_area, 0, |
883 | set_64bit_val(cq->shadow_area, 0, | 882 | I40IW_RING_GETCURRENT_HEAD(cq->cq_ring)); |
884 | I40IW_RING_GETCURRENT_HEAD(cq->cq_ring)); | ||
885 | } | ||
886 | } else { | 883 | } else { |
887 | if (info->is_srq) | 884 | if (info->is_srq) |
888 | return ret_code; | 885 | return ret_code; |
diff --git a/drivers/infiniband/hw/i40iw/i40iw_user.h b/drivers/infiniband/hw/i40iw/i40iw_user.h index 4627646fe8cd..276bcefffd7e 100644 --- a/drivers/infiniband/hw/i40iw/i40iw_user.h +++ b/drivers/infiniband/hw/i40iw/i40iw_user.h | |||
@@ -327,7 +327,7 @@ struct i40iw_cq_ops { | |||
327 | void (*iw_cq_request_notification)(struct i40iw_cq_uk *, | 327 | void (*iw_cq_request_notification)(struct i40iw_cq_uk *, |
328 | enum i40iw_completion_notify); | 328 | enum i40iw_completion_notify); |
329 | enum i40iw_status_code (*iw_cq_poll_completion)(struct i40iw_cq_uk *, | 329 | enum i40iw_status_code (*iw_cq_poll_completion)(struct i40iw_cq_uk *, |
330 | struct i40iw_cq_poll_info *, bool); | 330 | struct i40iw_cq_poll_info *); |
331 | enum i40iw_status_code (*iw_cq_post_entries)(struct i40iw_cq_uk *, u8 count); | 331 | enum i40iw_status_code (*iw_cq_post_entries)(struct i40iw_cq_uk *, u8 count); |
332 | void (*iw_cq_clean)(void *, struct i40iw_cq_uk *); | 332 | void (*iw_cq_clean)(void *, struct i40iw_cq_uk *); |
333 | }; | 333 | }; |
diff --git a/drivers/infiniband/hw/i40iw/i40iw_verbs.c b/drivers/infiniband/hw/i40iw/i40iw_verbs.c index 73c441bbf6ac..65ad249f90b3 100644 --- a/drivers/infiniband/hw/i40iw/i40iw_verbs.c +++ b/drivers/infiniband/hw/i40iw/i40iw_verbs.c | |||
@@ -2259,7 +2259,7 @@ static int i40iw_poll_cq(struct ib_cq *ibcq, | |||
2259 | 2259 | ||
2260 | spin_lock_irqsave(&iwcq->lock, flags); | 2260 | spin_lock_irqsave(&iwcq->lock, flags); |
2261 | while (cqe_count < num_entries) { | 2261 | while (cqe_count < num_entries) { |
2262 | ret = ukcq->ops.iw_cq_poll_completion(ukcq, &cq_poll_info, true); | 2262 | ret = ukcq->ops.iw_cq_poll_completion(ukcq, &cq_poll_info); |
2263 | if (ret == I40IW_ERR_QUEUE_EMPTY) { | 2263 | if (ret == I40IW_ERR_QUEUE_EMPTY) { |
2264 | break; | 2264 | break; |
2265 | } else if (ret == I40IW_ERR_QUEUE_DESTROYED) { | 2265 | } else if (ret == I40IW_ERR_QUEUE_DESTROYED) { |