linux/drivers/infiniband/hw/cxgb4
Hariprasad S c62e689631 RDMA/cxgb4: Serialize CQ event upcalls with CQ destruction
A race exists where the application can be destroying the CQ concurrently
with a HW interrupt indicating a completion has been inserted into the CQ.
This can cause an event notification upcall to the application after the
CQ has been destroyed.

The solution is to serialize looking up the CQ in the IDR table and
referencing the CQ in c4iw_ev_handler() with removing the CQID from the
IDR table and blocking until the refcnt reaches 0 in c4iw_destroy_cq().

Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Hariprasad Shenai <hariprasad@chelsio.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
2015-02-13 11:13:16 -08:00
..
cm.c RDMA/cxgb4: Handle NET_XMIT return codes 2014-12-15 18:10:46 -08:00
cq.c cxgb4: Cleanup macros so they follow the same style and look consistent, part 2 2014-11-10 12:57:10 -05:00
device.c RDMA/cxgb4: Increase epd buff size for debug interface 2014-12-15 18:10:45 -08:00
ev.c RDMA/cxgb4: Serialize CQ event upcalls with CQ destruction 2015-02-13 11:13:16 -08:00
id_table.c drivers/infiniband/hw: rename random32() to prandom_u32() 2013-05-07 18:38:27 -07:00
iw_cxgb4.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-07-22 00:44:59 -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: Limit MRs to < 8GB for T4/T5 devices 2014-12-15 18:10:46 -08:00
provider.c RDMA/cxgb4/cxgb4vf/csiostor: Cleanup macros/register defines related to PCIE, RSS and FW 2014-11-22 16:57:47 -05:00
qp.c RDMA/cxgb4: Wake up waiters after flushing the qp 2014-12-15 18:10:46 -08:00
resource.c RDMA/cxgb4: Add missing debug stats 2014-04-11 11:36:09 -07:00
t4.h Main set of InfiniBand/RDMA updates for 3.17 merge window: 2014-08-14 11:09:05 -06:00
t4fw_ri_api.h cxgb4/iw_cxgb4: Move common defines to cxgb4 2014-07-17 16:06:03 -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