linux_dsm_epyc7002/drivers/infiniband/hw/cxgb4
Steve Wise 678ea9b5ba RDMA/cxgb4: Only call CQ completion handler if it is armed
The function __flush_qp() always calls the ULP's CQ completion handler
functions even if the CQ was not armed.  This can crash the system if
the function pointer is NULL. The iSER ULP behaves this way: no
completion handler and never arm the CQ for notification.  So now we
track whether the CQ is armed at flush time and only call the
completion handlers if their CQs were armed.

Also, if the RCQ and SCQ are the same CQ, the completion handler is
getting called twice.  It should only be called once after all SQ and
RQ WRs are flushed from the QP.  So rearrange the logic to fix this.

Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
2014-08-01 14:54:37 -07:00
..
cm.c RDMA/cxgb4: Call iwpm_init() only once 2014-07-13 10:00:54 -07:00
cq.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2014-06-12 14:27:40 -07:00
device.c RDMA/cxgb4: Call iwpm_init() only once 2014-07-13 10:00:54 -07:00
ev.c RDMA/cxgb4: Only call CQ completion handler if it is armed 2014-08-01 14:54:37 -07:00
id_table.c drivers/infiniband/hw: rename random32() to prandom_u32() 2013-05-07 18:38:27 -07:00
iw_cxgb4.h RDMA/cxgb4: Call iwpm_init() only once 2014-07-13 10:00:54 -07:00
Kconfig RDMA/cxgb4: Update Kconfig to include Chelsio T5 adapter 2014-04-28 17:29:41 -07:00
Makefile RDMA/cxgb4: Remove kfifo usage 2012-05-18 13:22:36 -07:00
mem.c RDMA/cxgb4: Add missing debug stats 2014-04-11 11:36:09 -07:00
provider.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2014-06-12 14:27:40 -07:00
qp.c RDMA/cxgb4: Only call CQ completion handler if it is armed 2014-08-01 14:54:37 -07:00
resource.c RDMA/cxgb4: Add missing debug stats 2014-04-11 11:36:09 -07:00
t4.h RDMA/cxgb4: Only call CQ completion handler if it is armed 2014-08-01 14:54:37 -07:00
t4fw_ri_api.h iw_cxgb4: Choose appropriate hw mtu index and ISS for iWARP connections 2014-06-10 22:49:54 -07:00
user.h RDMA/cxgb4: add missing padding at end of struct c4iw_alloc_ucontext_resp 2014-06-05 09:13:54 -07:00