From f93be3080f1e8e56a9fe9aa78fa01ee9cc50c092 Mon Sep 17 00:00:00 2001 From: Sean Hefty Date: Mon, 7 May 2007 11:49:27 -0700 Subject: [PATCH] --- yaml --- r: 56411 b: refs/heads/master c: 6c719f5c6c823901fac2d46b83db5a69ba7e9152 h: refs/heads/master i: 56409: 73ad1fe8cac88a3796058524ee20437e6798daff 56407: 6c9dcd9cd5c4f490a752aecfa606e003671dbd78 v: v3 --- [refs] | 2 +- trunk/drivers/infiniband/core/cma.c | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 07c666d2e006..6627e1e72f56 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: be65f086f2a50c478b2f5ecf4c55a52a4e95059a +refs/heads/master: 6c719f5c6c823901fac2d46b83db5a69ba7e9152 diff --git a/trunk/drivers/infiniband/core/cma.c b/trunk/drivers/infiniband/core/cma.c index cfd57b4abd03..2eb52b7a71da 100644 --- a/trunk/drivers/infiniband/core/cma.c +++ b/trunk/drivers/infiniband/core/cma.c @@ -368,6 +368,11 @@ static void cma_enable_remove(struct rdma_id_private *id_priv) wake_up(&id_priv->wait_remove); } +static int cma_has_cm_dev(struct rdma_id_private *id_priv) +{ + return (id_priv->id.device && id_priv->cm_id.ib); +} + struct rdma_cm_id *rdma_create_id(rdma_cm_event_handler event_handler, void *context, enum rdma_port_space ps) { @@ -2422,7 +2427,7 @@ int rdma_notify(struct rdma_cm_id *id, enum ib_event_type event) int ret; id_priv = container_of(id, struct rdma_id_private, id); - if (!cma_comp(id_priv, CMA_CONNECT)) + if (!cma_has_cm_dev(id_priv)) return -EINVAL; switch (id->device->node_type) { @@ -2444,7 +2449,7 @@ int rdma_reject(struct rdma_cm_id *id, const void *private_data, int ret; id_priv = container_of(id, struct rdma_id_private, id); - if (!cma_comp(id_priv, CMA_CONNECT)) + if (!cma_has_cm_dev(id_priv)) return -EINVAL; switch (rdma_node_get_transport(id->device->node_type)) { @@ -2475,8 +2480,7 @@ int rdma_disconnect(struct rdma_cm_id *id) int ret; id_priv = container_of(id, struct rdma_id_private, id); - if (!cma_comp(id_priv, CMA_CONNECT) && - !cma_comp(id_priv, CMA_DISCONNECT)) + if (!cma_has_cm_dev(id_priv)) return -EINVAL; switch (rdma_node_get_transport(id->device->node_type)) {