linux/drivers/infiniband/hw
Slava Shwartsman b0ffeb537f IB/mlx5: Fix iteration overrun in GSI qps
Number of outstanding_pi may overflow and as a result may indicate that
there are no elements in the queue. The effect of doing this is that the
MAD layer will get stuck waiting for completions. The MAD layer will
think that the QP is full - because it didn't receive these completions.

This fix changes it so the outstanding_pi number is increased
with 32-bit wraparound and is not limited to max_send_wr so
that the difference between outstanding_pi and outstanding_ci will
really indicate the number of outstanding completions.

Cc: Stable <stable@vger.kernel.org>
Fixes: ea6dc20362 ('IB/mlx5: Reorder GSI completions')
Signed-off-by: Slava Shwartsman <slavash@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Reviewed-by: Haggai Eran <haggaie@mellanox.com>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Doug Ledford <dledford@redhat.com>
2016-08-02 14:32:51 -04:00
..
cxgb3 Round two of 4.7 merge window patches 2016-05-28 11:04:16 -07:00
cxgb4 IB/core: Make device counter infrastructure dynamic 2016-05-26 12:52:51 -04:00
hfi1 IB/hfi1: Suppress sparse warnings 2016-06-06 19:37:23 -04:00
i40iw IB/core: Make device counter infrastructure dynamic 2016-05-26 12:52:51 -04:00
mlx4 IB/mlx4: Fix device managed flow steering support test 2016-06-06 19:31:51 -04:00
mlx5 IB/mlx5: Fix iteration overrun in GSI qps 2016-08-02 14:32:51 -04:00
mthca mm/gup: Switch all callers of get_user_pages() to not pass tsk/mm 2016-02-16 10:11:12 +01:00
nes Primary 4.7 merge window changes 2016-05-20 14:35:07 -07:00
ocrdma IB/core: Enhance ib_map_mr_sg() 2016-05-13 13:37:57 -04:00
qib Round two of 4.7 merge window patches 2016-05-28 11:04:16 -07:00
usnic IB/usnic: Remove unused DMA attributes 2016-06-06 19:28:06 -04:00
Makefile IB/hfi1: Move driver out of staging 2016-05-26 11:35:14 -04:00