original_kernel/drivers/infiniband/core
Yossi Etigin d2ca39f262 RDMA/cma: Create cm id even when IB port is down
When doing rdma_resolve_addr(), if the relevant IB port is down, the
function fails and the cm_id is not bound to the correct device.
Therefore, application does not have a device handle and cannot wait
for the port to become active.  The function fails because the
underlying IPoIB interface is not joined to the broadcast group and
therefore the SA does not have a multicast record to take a Q_Key
from.

The fix is to use lazy Q_Key resolution - cma_set_qkey() will set
id_priv->qkey if it was not set, and will be called just before the
Q_Key is really required.

Signed-off-by: Yossi Etigin <yosefe@voltaire.com>
Acked-by: Sean Hefty <sean.hefty@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
2009-04-08 13:42:33 -07:00
..
Makefile
addr.c
agent.c
agent.h
cache.c
cm.c IB: Remove __constant_{endian} uses 2009-01-17 17:11:57 -08:00
cm_msgs.h IB: Remove __constant_{endian} uses 2009-01-17 17:11:57 -08:00
cma.c RDMA/cma: Create cm id even when IB port is down 2009-04-08 13:42:33 -07:00
core_priv.h
device.c IB: Remove sysfs files before unregistering device 2009-02-25 13:27:46 -08:00
fmr_pool.c
iwcm.c
iwcm.h
mad.c IB/mad: Fix ib_post_send_mad() returning 0 with no generate send comp 2009-03-03 14:22:17 -08:00
mad_priv.h
mad_rmpp.c IB: Remove __constant_{endian} uses 2009-01-17 17:11:57 -08:00
mad_rmpp.h
multicast.c
packer.c
sa.h
sa_query.c IB/sa_query: Fix AH leak due to update_sm_ah() race 2009-03-03 14:30:01 -08:00
smi.c
smi.h
sysfs.c IB: Remove useless ibdev_is_alive() tests from sysfs code 2009-03-04 15:22:39 -08:00
ucm.c infiniband: struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-06 10:44:39 -08:00
ucma.c
ud_header.c
umem.c
user_mad.c
uverbs.h
uverbs_cmd.c
uverbs_main.c
uverbs_marshall.c
verbs.c