diff options
-rw-r--r-- | drivers/infiniband/hw/i40iw/i40iw_d.h | 3 | ||||
-rw-r--r-- | drivers/infiniband/hw/i40iw/i40iw_uk.c | 6 |
2 files changed, 4 insertions, 5 deletions
diff --git a/drivers/infiniband/hw/i40iw/i40iw_d.h b/drivers/infiniband/hw/i40iw/i40iw_d.h index bd942da91a27..2fac1db0e0a0 100644 --- a/drivers/infiniband/hw/i40iw/i40iw_d.h +++ b/drivers/infiniband/hw/i40iw/i40iw_d.h | |||
@@ -1557,6 +1557,9 @@ enum i40iw_alignment { | |||
1557 | #define I40IW_RING_MOVE_TAIL(_ring) \ | 1557 | #define I40IW_RING_MOVE_TAIL(_ring) \ |
1558 | (_ring).tail = ((_ring).tail + 1) % (_ring).size | 1558 | (_ring).tail = ((_ring).tail + 1) % (_ring).size |
1559 | 1559 | ||
1560 | #define I40IW_RING_MOVE_HEAD_NOCHECK(_ring) \ | ||
1561 | (_ring).head = ((_ring).head + 1) % (_ring).size | ||
1562 | |||
1560 | #define I40IW_RING_MOVE_TAIL_BY_COUNT(_ring, _count) \ | 1563 | #define I40IW_RING_MOVE_TAIL_BY_COUNT(_ring, _count) \ |
1561 | (_ring).tail = ((_ring).tail + (_count)) % (_ring).size | 1564 | (_ring).tail = ((_ring).tail + (_count)) % (_ring).size |
1562 | 1565 | ||
diff --git a/drivers/infiniband/hw/i40iw/i40iw_uk.c b/drivers/infiniband/hw/i40iw/i40iw_uk.c index 6b217e6e918f..4d28c3cb03cc 100644 --- a/drivers/infiniband/hw/i40iw/i40iw_uk.c +++ b/drivers/infiniband/hw/i40iw/i40iw_uk.c | |||
@@ -761,7 +761,6 @@ static enum i40iw_status_code i40iw_cq_poll_completion(struct i40iw_cq_uk *cq, | |||
761 | struct i40iw_ring *pring = NULL; | 761 | struct i40iw_ring *pring = NULL; |
762 | u32 wqe_idx, q_type, array_idx = 0; | 762 | u32 wqe_idx, q_type, array_idx = 0; |
763 | enum i40iw_status_code ret_code = 0; | 763 | enum i40iw_status_code ret_code = 0; |
764 | enum i40iw_status_code ret_code2 = 0; | ||
765 | bool move_cq_head = true; | 764 | bool move_cq_head = true; |
766 | u8 polarity; | 765 | u8 polarity; |
767 | u8 addl_wqes = 0; | 766 | u8 addl_wqes = 0; |
@@ -869,10 +868,7 @@ exit: | |||
869 | move_cq_head = false; | 868 | move_cq_head = false; |
870 | 869 | ||
871 | if (move_cq_head) { | 870 | if (move_cq_head) { |
872 | I40IW_RING_MOVE_HEAD(cq->cq_ring, ret_code2); | 871 | I40IW_RING_MOVE_HEAD_NOCHECK(cq->cq_ring); |
873 | |||
874 | if (ret_code2 && !ret_code) | ||
875 | ret_code = ret_code2; | ||
876 | 872 | ||
877 | if (I40IW_RING_GETCURRENT_HEAD(cq->cq_ring) == 0) | 873 | if (I40IW_RING_GETCURRENT_HEAD(cq->cq_ring) == 0) |
878 | cq->polarity ^= 1; | 874 | cq->polarity ^= 1; |