linux_old1/drivers/infiniband/core
Or Gerlitz de910bd921 RDMA/cma: Simplify locking needed for serialization of callbacks
The RDMA CM has some logic in place to make sure that callbacks on a
given CM ID are delivered to the consumer in a serialized manner.
Specifically it has code to protect against a device removal racing
with a running callback function.

This patch simplifies this logic by using a mutex per ID instead of a
wait queue and atomic variable.  This means that cma_disable_remove()
now is more properly named to cma_disable_callback(), and
cma_enable_remove() can now be removed because it just would become a
trivial wrapper around mutex_unlock().

Signed-off-by: Or Gerlitz <ogerlitz@voltaire.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
2008-07-14 23:48:53 -07:00
..
Makefile IB/uverbs: Export ib_umem_get()/ib_umem_release() to modules 2007-05-08 18:00:37 -07:00
addr.c RDMA/addr: Keep pointer to netdevice in struct rdma_dev_addr 2008-07-14 23:48:53 -07:00
agent.c IB/mad: agent_send_response() should be void 2007-08-03 10:45:17 -07:00
agent.h RDMA: Remove subversion $Id tags 2008-07-14 23:48:44 -07:00
cache.c RDMA: Remove subversion $Id tags 2008-07-14 23:48:44 -07:00
cm.c RDMA: Remove subversion $Id tags 2008-07-14 23:48:44 -07:00
cm_msgs.h IB/cm: cm_msgs.h should include ib_cm.h 2007-07-10 21:50:53 -07:00
cma.c RDMA/cma: Simplify locking needed for serialization of callbacks 2008-07-14 23:48:53 -07:00
core_priv.h RDMA: Remove subversion $Id tags 2008-07-14 23:48:44 -07:00
device.c RDMA: Remove subversion $Id tags 2008-07-14 23:48:44 -07:00
fmr_pool.c RDMA: Remove subversion $Id tags 2008-07-14 23:48:44 -07:00
iwcm.c RDMA/iwcm: Don't access a cm_id after dropping reference 2008-03-10 21:22:22 -07:00
iwcm.h RDMA: iWARP Connection Manager. 2006-09-22 15:22:46 -07:00
mad.c IB/mad: Fix kernel crash when .process_mad() returns SUCCESS|CONSUMED 2008-05-23 10:52:59 -07:00
mad_priv.h RDMA: Remove subversion $Id tags 2008-07-14 23:48:44 -07:00
mad_rmpp.c RDMA: Remove subversion $Id tags 2008-07-14 23:48:44 -07:00
mad_rmpp.h RDMA: Remove subversion $Id tags 2008-07-14 23:48:44 -07:00
multicast.c IB/multicast: Report errors on multicast groups if P_key changes 2008-01-25 14:15:29 -08:00
packer.c RDMA: Remove subversion $Id tags 2008-07-14 23:48:44 -07:00
sa.h IB: Remove garbage non-ASCII characters from comments 2007-07-09 16:17:32 -07:00
sa_query.c RDMA: Remove subversion $Id tags 2008-07-14 23:48:44 -07:00
smi.c IB/mad: Enhance SMI for switch support 2007-07-09 16:17:32 -07:00
smi.h IB/mad: Enable loopback of DR SMP responses from userspace 2008-01-25 14:15:25 -08:00
sysfs.c RDMA/core: Add iWARP protocol statistics attributes in sysfs 2008-07-14 23:48:48 -07:00
ucm.c RDMA: Remove subversion $Id tags 2008-07-14 23:48:44 -07:00
ucma.c infiniband-ucma: BKL pushdown 2008-06-20 14:05:57 -06:00
ud_header.c RDMA: Remove subversion $Id tags 2008-07-14 23:48:44 -07:00
umem.c RDMA: Remove subversion $Id tags 2008-07-14 23:48:44 -07:00
user_mad.c RDMA: Remove subversion $Id tags 2008-07-14 23:48:44 -07:00
uverbs.h RDMA: Remove subversion $Id tags 2008-07-14 23:48:44 -07:00
uverbs_cmd.c RDMA/core: Add memory management extensions support 2008-07-14 23:48:45 -07:00
uverbs_main.c RDMA: Remove subversion $Id tags 2008-07-14 23:48:44 -07:00
uverbs_marshall.c RDMA/cma: Export rdma cm interface to userspace 2006-12-12 11:50:22 -08:00
verbs.c IB/core: Reset to error QP state transition is not allowed 2008-07-14 23:48:46 -07:00