diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-11-01 13:51:38 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-11-01 13:51:38 -0400 |
| commit | f470f8d4e702593ee1d0852871ad80373bce707b (patch) | |
| tree | 85a67e65c5e5b9777639bd8f4c763a4cf8787e0e | |
| parent | dc47d3810cdcb4f32bfa31d50f26af97aced0638 (diff) | |
| parent | 504255f8d0480cf293962adf4bc3aecac645ae71 (diff) | |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (62 commits)
mlx4_core: Deprecate log_num_vlan module param
IB/mlx4: Don't set VLAN in IBoE WQEs' control segment
IB/mlx4: Enable 4K mtu for IBoE
RDMA/cxgb4: Mark QP in error before disabling the queue in firmware
RDMA/cxgb4: Serialize calls to CQ's comp_handler
RDMA/cxgb3: Serialize calls to CQ's comp_handler
IB/qib: Fix issue with link states and QSFP cables
IB/mlx4: Configure extended active speeds
mlx4_core: Add extended port capabilities support
IB/qib: Hold links until tuning data is available
IB/qib: Clean up checkpatch issue
IB/qib: Remove s_lock around header validation
IB/qib: Precompute timeout jiffies to optimize latency
IB/qib: Use RCU for qpn lookup
IB/qib: Eliminate divide/mod in converting idx to egr buf pointer
IB/qib: Decode path MTU optimization
IB/qib: Optimize RC/UC code by IB operation
IPoIB: Use the right function to do DMA unmap pages
RDMA/cxgb4: Use correct QID in insert_recv_cqe()
RDMA/cxgb4: Make sure flush CQ entries are collected on connection close
...
84 files changed, 4738 insertions, 984 deletions
diff --git a/drivers/infiniband/core/cm.c b/drivers/infiniband/core/cm.c index fc0f2bd9ca82..4104ea2427c2 100644 --- a/drivers/infiniband/core/cm.c +++ b/drivers/infiniband/core/cm.c | |||
| @@ -889,6 +889,8 @@ retest: | |||
| 889 | break; | 889 | break; |
| 890 | case IB_CM_ESTABLISHED: | 890 | case IB_CM_ESTABLISHED: |
| 891 | spin_unlock_irq(&cm_id_priv->lock); | 891 | spin_unlock_irq(&cm_id_priv->lock); |
| 892 | if (cm_id_priv->qp_type == IB_QPT_XRC_TGT) | ||
| 893 | break; | ||
| 892 | ib_send_cm_dreq(cm_id, NULL, 0); | 894 | ib_send_cm_dreq(cm_id, NULL, 0); |
| 893 | goto retest; | 895 | goto retest; |
| 894 | case IB_CM_DREQ_SENT: | 896 | case IB_CM_DREQ_SENT: |
| @@ -1008,7 +1010,6 @@ static void cm_format_req(struct cm_req_msg *req_msg, | |||
| 1008 | req_msg->service_id = param->service_id; | 1010 | req_msg->service_id = param->service_id; |
| 1009 | req_msg->local_ca_guid = cm_id_priv->id.device->node_guid; | 1011 | req_msg->local_ca_guid = cm_id_priv->id.device->node_guid; |
| 1010 | cm_req_set_local_qpn(req_msg, cpu_to_be32(param->qp_num)); | 1012 | cm_req_set_local_qpn(req_msg, cpu_to_be32(param->qp_num)); |
| 1011 | cm_req_set_resp_res(req_msg, param->responder_resources); | ||
| 1012 | cm_req_set_init_depth(req_msg, param->initiator_depth); | 1013 | cm_req_set_init_depth(req_msg, param->initiator_depth); |
| 1013 | cm_req_set_remote_resp_timeout(req_msg, | 1014 | cm_req_set_remote_resp_timeout(req_msg, |
| 1014 | param->remote_cm_response_timeout); | 1015 | param->remote_cm_response_timeout); |
| @@ -1017,12 +1018,16 @@ static void cm_format_req(struct cm_req_msg *req_msg, | |||
| 1017 | cm_req_set_starting_psn(req_msg, cpu_to_be32(param->starting_psn)); | 1018 | cm_req_set_starting_psn(req_msg, cpu_to_be32(param->starting_psn)); |
| 1018 | cm_req_set_local_resp_timeout(req_msg, | 1019 | cm_req_set_local_resp_timeout(req_msg, |
| 1019 | param->local_cm_response_timeout); | 1020 | param->local_cm_response_timeout); |
| 1020 | cm_req_set_retry_count(req_msg, param->retry_count); | ||
| 1021 | req_msg->pkey = param->primary_path->pkey; | 1021 | req_msg->pkey = param->primary_path->pkey; |
| 1022 | cm_req_set_path_mtu(req_msg, param->primary_path->mtu); | 1022 | cm_req_set_path_mtu(req_msg, param->primary_path->mtu); |
| 1023 | cm_req_set_rnr_retry_count(req_msg, param->rnr_retry_count); | ||
| 1024 | cm_req_set_max_cm_retries(req_msg, param->max_cm_retries); | 1023 | cm_req_set_max_cm_retries(req_msg, param->max_cm_retries); |
| 1025 | cm_req_set_srq(req_msg, param->srq); | 1024 | |
| 1025 | if (param->qp_type != IB_QPT_XRC_INI) { | ||
| 1026 | cm_req_set_resp_res(req_msg, param->responder_resources); | ||
| 1027 | cm_req_set_retry_count(req_msg, param->retry_count); | ||
| 1028 | cm_req_set_rnr_retry_count(req_msg, param->rnr_retry_count); | ||
| 1029 | cm_req_set_srq(req_msg, param->srq); | ||
| 1030 | } | ||
| 1026 | 1031 | ||
| 1027 | if (pri_path->hop_limit <= 1) { | 1032 | if (pri_path->hop_limit <= 1) { |
| 1028 | req_msg->primary_local_lid = pri_path->slid; | 1033 | req_msg->primary_local_lid = pri_path->slid; |
