linux_old1/drivers/infiniband/hw
Steve Wise 1cf24dcef4 RDMA/cxgb4: Fix QP flush logic
This patch makes following fixes in QP flush logic:

- correctly flushes unsignaled WRs followed by a signaled WR
- supports for flushing a CQ bound to multiple QPs
- resets cidx_flush if a active queue starts getting HW CQEs again
- marks WQ in error when we leave RTS. This was only being done for
  user queues, but we need it for kernel queues too so that
  post_send/post_recv will start returning the appropriate error
  synchronously
- eats unsignaled read resp CQEs. HW always inserts CQEs so we must
  silently discard them if the read work request was unsignaled.
- handles QP flushes with pending SW CQEs. The flush and out of order
  completion logic has a bug where if out of order completions are
  flushed but not yet polled by the consumer and the qp is then
  flushed then we end up inserting duplicate completions.
- c4iw_flush_sq() should only flush wrs that have not already been
  flushed.  Since we already track where in the SQ we've flushed via
  sq.cidx_flush, just start at that point and flush any remaining.
  This bug only caused a problem in the presence of unsignaled work
  requests.

Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Vipul Pandya <vipul@chelsio.com>

[ Fixed sparse warning due to htonl/ntohl confusion.  - Roland ]

Signed-off-by: Roland Dreier <roland@purestorage.com>
2013-08-13 11:55:45 -07:00
..
amso1100 RDMA/cma: Add IPv6 support for iWARP 2013-08-12 12:32:31 -07:00
cxgb3 RDMA/cma: Add IPv6 support for iWARP 2013-08-12 12:32:31 -07:00
cxgb4 RDMA/cxgb4: Fix QP flush logic 2013-08-13 11:55:45 -07:00
ehca Main batch of InfiniBand/RDMA changes for 3.11 merge window: 2013-07-13 12:57:21 -07:00
ipath InfiniBand/RDMA changes for the 3.10 merge window: 2013-05-08 15:29:48 -07:00
mlx4 IB/mlx4: Use default pkey when creating tunnel QPs 2013-07-31 12:22:12 -07:00
mlx5 mlx5_core: Variable may be used uninitialized 2013-07-31 14:12:33 -07:00
mthca Drivers: infinband: remove __dev* attributes. 2013-01-03 15:57:15 -08:00
nes RDMA/cma: Add IPv6 support for iWARP 2013-08-12 12:32:31 -07:00
ocrdma RDMA/ocrdma: Fix several stack info leaks 2013-07-30 10:09:16 -07:00
qib IB/qib: Add err_decode() call for ring dump 2013-07-30 10:13:00 -07:00