OpenCloudOS-Kernel/drivers/infiniband/core
Steve Wise ebb90986e1 RDMA/iwcm: iw_cm_id destruction race fixes
iwcm iw_cm_id destruction race condition fixes:

- iwcm_deref_id() always wakes up if there's another reference.
- clean up race condition in cm_work_handler().
- create static void free_cm_id() which deallocs the work entries and then
  kfrees the cm_id memory.  This reduces code replication.
- rem_ref() if this is the last reference -and- the IWCM owns freeing the
  cm_id, then free it.

Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Tom Tucker <tom@opengridcomputing.com>
Acked-by: Krishna Kumar <krkumar2@in.ibm.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
2007-02-16 13:57:35 -08:00
..
Makefile RDMA/cma: Export rdma cm interface to userspace 2006-12-12 11:50:22 -08:00
addr.c IB: Remove redundant "_wq" from workqueue names 2007-02-10 08:00:50 -08:00
agent.c IB/mad: Simplify SMI by eliminating smi_check_local_dr_smp() 2006-03-20 10:08:11 -08:00
agent.h [PATCH] missing include in infiniband 2005-10-29 10:35:07 -07:00
cache.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
cm.c RDMA/cma: Allow early transition to RTS to handle lost CM messages 2006-12-12 11:50:21 -08:00
cm_msgs.h [IB] cm: Add missing break in switch 2005-10-20 12:29:36 -07:00
cma.c IB: Remove redundant "_wq" from workqueue names 2007-02-10 08:00:50 -08:00
core_priv.h [PATCH] IB: move include files to include/rdma 2005-08-26 20:37:38 -07:00
device.c IB/core: Use ARRAY_SIZE macro for mandatory_table 2007-02-10 08:00:47 -08:00
fmr_pool.c IB/fmr: ib_flush_fmr_pool() may wait too long 2006-12-12 11:50:19 -08:00
iwcm.c RDMA/iwcm: iw_cm_id destruction race fixes 2007-02-16 13:57:35 -08:00
iwcm.h RDMA: iWARP Connection Manager. 2006-09-22 15:22:46 -07:00
mad.c IB: Return qp pointer as part of ib_wc 2007-02-04 14:11:55 -08:00
mad_priv.h IB/core: Use the new verbs DMA mapping functions 2006-12-12 14:28:30 -08:00
mad_rmpp.c WorkStruct: make allyesconfig 2006-11-22 14:57:56 +00:00
mad_rmpp.h [IB] Fix MAD layer DMA mappings to avoid touching data buffer once mapped 2005-10-25 10:51:39 -07:00
packer.c [PATCH] fix remaining missing includes 2005-11-07 07:53:41 -08:00
sa_query.c WorkStruct: make allyesconfig 2006-11-22 14:57:56 +00:00
smi.c RDMA: iWARP Core Changes. 2006-09-22 15:22:47 -07:00
smi.h IB/mad: Simplify SMI by eliminating smi_check_local_dr_smp() 2006-03-20 10:08:11 -08:00
sysfs.c RDMA: iWARP Core Changes. 2006-09-22 15:22:47 -07:00
ucm.c [PATCH] mark struct file_operations const 3 2007-02-12 09:48:45 -08:00
ucma.c [PATCH] mark struct file_operations const 3 2007-02-12 09:48:45 -08:00
ud_header.c [PATCH] fix remaining missing includes 2005-11-07 07:53:41 -08:00
user_mad.c [PATCH] mark struct file_operations const 3 2007-02-12 09:48:45 -08:00
uverbs.h IB/uverbs: Avoid a crash on device hot remove 2006-08-03 10:56:42 -07:00
uverbs_cmd.c IB: Return qp pointer as part of ib_wc 2007-02-04 14:11:55 -08:00
uverbs_main.c [PATCH] mark struct file_operations const 3 2007-02-12 09:48:45 -08:00
uverbs_marshall.c RDMA/cma: Export rdma cm interface to userspace 2006-12-12 11:50:22 -08:00
uverbs_mem.c IB/core: Use the new verbs DMA mapping functions 2006-12-12 14:28:30 -08:00
verbs.c RDMA: iWARP Core Changes. 2006-09-22 15:22:47 -07:00