linux/drivers/infiniband
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
..
core IB/core: Remove needless bracketization 2015-08-30 18:12:21 -04:00
hw IB/mlx4: Fix incorrect cq flushing in error state 2015-08-30 18:12:23 -04:00
ulp IB/srp: Convert to ib_alloc_mr 2015-08-30 18:08:45 -04:00
Kconfig RDMA/amso1100: Deprecate the amso1100 driver and move to staging 2015-08-28 22:54:49 -04:00
Makefile IB: Allow build of hw/ and ulp/ subdirectories independently 2014-06-02 14:51:12 -07:00