IB/umad: Enable support only for IB ports
PATCH v7 3/9 IB/umad: Enable support only for IB ports
Initialize umad context only for Infiniband (as oppoesed to Ethernet) ports.
Signed-off-by Eli Cohen <eli-VPRAkNaXOzVS1MOuV/[email protected]>
--- drivers/infiniband/core/user_mad.c | 11 +++++++---- 1 files changed, 7 insertions(+), 4 deletions(-)
drivers/infiniband/core/user_mad.c +7 -4
@@ -1138,8 +1138,9 @@ static void ib_umad_add_one(struct ib_device *device)for (i = s; i <= e; ++i) { umad_dev->port[i - s].umad_dev = umad_dev; -if (ib_umad_init_port (device, i, &umad_dev->port[i - s])) - goto err; +if (rdma_port_link_layer (device, i) ==IB_LINK_LAYER_INFINIBAND ) +if (ib_umad_init_port (device, i, &umad_dev->port[i - s])) + goto err; }ib_set_client_data (device, &umad_client, umad_dev);
@@ -1148,7 +1149,8 @@ static void ib_umad_add_one(struct ib_device *device) err:while (--i >= s) -ib_umad_kill_port (&umad_dev->port[i - s]); +if (rdma_port_link_layer (device, i) ==IB_LINK_LAYER_INFINIBAND ) +ib_umad_kill_port (&umad_dev->port[i - s]);kref_put (&umad_dev->ref, ib_umad_release_dev); }
@@ -1162,7 +1164,8 @@ static void ib_umad_remove_one(struct ib_device *device)return ;for (i =0 ; i <= umad_dev->end_port - umad_dev->start_port; ++i) -ib_umad_kill_port (&umad_dev->port[i]); +if (rdma_port_link_layer (device, i +1 ) ==IB_LINK_LAYER_INFINIBAND ) +ib_umad_kill_port (&umad_dev->port[i]);kref_put (&umad_dev->ref, ib_umad_release_dev); }
Signature · 6 lines
1.6.6 -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html