linux/drivers/infiniband/hw/mlx4
Ariel Nahum 799cdaf8a9 IB/mlx4: Fix incorrect cq flushing in error state
When handling a device internal error, the driver is responsible to
drain the completion queue with flush errors.

In case a completion queue was assigned to multiple send queues, the
driver iterates over the send queues and generates flush errors of
inflight wqes. The driver must correctly pass the wc array with an
offset as a result of the previous send queue iteration. Not doing so
will overwrite previously set completions and return a wrong number
of polled completions which includes ones which were not correctly set.

Fixes: 35f05dabf9 (IB/mlx4: Reset flow support for IB kernel ULPs)
Signed-off-by: Ariel Nahum <arieln@mellanox.com>
Signed-off-by: Sagi Grimberg <sagig@mellanox.com>
Cc: Yishai Hadas <yishaih@mellanox.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
2015-08-30 18:12:23 -04:00
..
ah.c IB/mlx4: Use correct SL on AH query under RoCE 2015-08-30 18:12:23 -04:00
alias_GUID.c net/mlx4_core: Modify port values when generting EQEs for VFs 2015-05-24 23:05:09 -04:00
cm.c IB/mlx4: In mlx4_ib_demux_cm, print out GUID in host-endian order 2015-02-17 22:11:40 -08:00
cq.c IB/mlx4: Fix incorrect cq flushing in error state 2015-08-30 18:12:23 -04:00
doorbell.c IB: Refactor umem to use linear SG table 2014-03-04 10:34:28 -08:00
Kconfig IB/mlx4: Add dependency INET 2014-01-19 15:14:05 -08:00
mad.c IB/mlx4: Fix use of flow-counters for process_mad 2015-07-14 13:20:14 -04:00
main.c IB/mlx4: Replace mechanism for RoCE GID management 2015-08-30 18:12:21 -04:00
Makefile IB/mlx4: Add iov directory in sysfs under the ib device 2012-09-30 20:33:39 -07:00
mcg.c IB/mlx4: Demote mcg message from warning to debug 2015-08-30 18:12:22 -04:00
mlx4_ib.h IB/mlx4: Replace mechanism for RoCE GID management 2015-08-30 18:12:21 -04:00
mr.c mlx4: Support ib_alloc_mr verb 2015-08-30 18:08:46 -04:00
qp.c IB/mlx4: Replace mechanism for RoCE GID management 2015-08-30 18:12:21 -04:00
srq.c IB/mlx4: Reset flow support for IB kernel ULPs 2015-02-09 14:03:53 -08:00
sysfs.c IB/mlx4: Forbid using sysfs to change RoCE pkeys 2015-08-30 18:12:22 -04:00
user.h mlx4: 64-byte CQE/EQE support 2012-11-26 10:19:17 -08:00