]> git.karo-electronics.de Git - linux-beck.git/commitdiff
RDMA/cma: Only listen on IB devices when using AF_IB
authorSean Hefty <sean.hefty@intel.com>
Wed, 29 May 2013 17:09:24 +0000 (10:09 -0700)
committerRoland Dreier <roland@purestorage.com>
Fri, 21 Jun 2013 06:35:38 +0000 (23:35 -0700)
If an rdma_cm_id is bound to AF_IB, with a wild card address, only
listen on IB devices.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
drivers/infiniband/core/cma.c

index 96d0b9a6e15e8ce5f92c49bdbdb190b2f5545613..6a0ee9265015632327ec4ad9049dcbe350b8c579 100644 (file)
@@ -1616,6 +1616,10 @@ static void cma_listen_on_dev(struct rdma_id_private *id_priv,
        struct rdma_cm_id *id;
        int ret;
 
+       if (cma_family(id_priv) == AF_IB &&
+           rdma_node_get_transport(cma_dev->device->node_type) != RDMA_TRANSPORT_IB)
+               return;
+
        id = rdma_create_id(cma_listen_handler, id_priv, id_priv->id.ps,
                            id_priv->id.qp_type);
        if (IS_ERR(id))