From: Michael Wang <yun.wang-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
To: Roland Dreier <roland-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
Sean Hefty <sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
Hal Rosenstock
<hal-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>,
Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: Michael Wang <yun.wang-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>,
Tom Tucker
<tom-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org>,
Steve Wise
<swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org>,
Hoang-Nam Nguyen
<hnguyen-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org>,
Christoph Raisch <raisch-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org>,
Mike Marciniszyn
<infinipath-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
Eli Cohen <eli-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
Faisal Latif
<faisal.latif-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
Jack Morgenstein
<jackm-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>,
Or Gerlitz <ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
Haggai Eran <haggaie-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
Ira Weiny <ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
Tom Talpey <tom-CLs1Zie5N5HQT0dZR+AlfA@public.gmane.org>,
Jason Gunthorpe
<jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>,
Devesh Sharma
<Devesh.Sharma-iH1Dq9VlAzfQT0dZR+AlfA@public.gmane.org>,
Liran Liss <liranl-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
Dave Goodell <dgoodell-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org>
Subject: [PATCH v8 04/23] IB/Verbs: Reform IB-core cm
Date: Tue, 5 May 2015 14:50:21 +0200 [thread overview]
Message-ID: <1430830240-32389-5-git-send-email-yun.wang@profitbricks.com> (raw)
In-Reply-To: <1430830240-32389-1-git-send-email-yun.wang-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
Use raw management helpers to reform IB-core cm.
Signed-off-by: Michael Wang <yun.wang-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
---
drivers/infiniband/core/cm.c | 20 +++++++++++++++++---
1 file changed, 17 insertions(+), 3 deletions(-)
diff --git a/drivers/infiniband/core/cm.c b/drivers/infiniband/core/cm.c
index e28a494..add5e484 100644
--- a/drivers/infiniband/core/cm.c
+++ b/drivers/infiniband/core/cm.c
@@ -3760,11 +3760,9 @@ static void cm_add_one(struct ib_device *ib_device)
};
unsigned long flags;
int ret;
+ int count = 0;
u8 i;
- if (rdma_node_get_transport(ib_device->node_type) != RDMA_TRANSPORT_IB)
- return;
-
cm_dev = kzalloc(sizeof(*cm_dev) + sizeof(*port) *
ib_device->phys_port_cnt, GFP_KERNEL);
if (!cm_dev)
@@ -3783,6 +3781,9 @@ static void cm_add_one(struct ib_device *ib_device)
set_bit(IB_MGMT_METHOD_SEND, reg_req.method_mask);
for (i = 1; i <= ib_device->phys_port_cnt; i++) {
+ if (!rdma_ib_or_iboe(ib_device, i))
+ continue;
+
port = kzalloc(sizeof *port, GFP_KERNEL);
if (!port)
goto error1;
@@ -3809,7 +3810,13 @@ static void cm_add_one(struct ib_device *ib_device)
ret = ib_modify_port(ib_device, i, 0, &port_modify);
if (ret)
goto error3;
+
+ count++;
}
+
+ if (!count)
+ goto free;
+
ib_set_client_data(ib_device, &cm_client, cm_dev);
write_lock_irqsave(&cm.device_lock, flags);
@@ -3825,11 +3832,15 @@ error1:
port_modify.set_port_cap_mask = 0;
port_modify.clr_port_cap_mask = IB_PORT_CM_SUP;
while (--i) {
+ if (!rdma_ib_or_iboe(ib_device, i))
+ continue;
+
port = cm_dev->port[i-1];
ib_modify_port(ib_device, port->port_num, 0, &port_modify);
ib_unregister_mad_agent(port->mad_agent);
cm_remove_port_fs(port);
}
+free:
device_unregister(cm_dev->device);
kfree(cm_dev);
}
@@ -3853,6 +3864,9 @@ static void cm_remove_one(struct ib_device *ib_device)
write_unlock_irqrestore(&cm.device_lock, flags);
for (i = 1; i <= ib_device->phys_port_cnt; i++) {
+ if (!rdma_ib_or_iboe(ib_device, i))
+ continue;
+
port = cm_dev->port[i-1];
ib_modify_port(ib_device, port->port_num, 0, &port_modify);
ib_unregister_mad_agent(port->mad_agent);
--
2.1.0
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2015-05-05 12:50 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-05 12:50 [PATCH v8 00/23] IB/Verbs: IB Management Helpers Michael Wang
2015-05-05 12:50 ` [PATCH v8 01/23] IB/Verbs: Implement new callback query_protocol() Michael Wang
[not found] ` <1430830240-32389-1-git-send-email-yun.wang-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-05-05 12:50 ` [PATCH v8 02/23] IB/Verbs: Implement raw management helpers Michael Wang
2015-05-05 12:50 ` [PATCH v8 03/23] IB/Verbs: Reform IB-core mad/agent/user_mad Michael Wang
2015-05-05 12:50 ` Michael Wang [this message]
2015-05-05 12:50 ` [PATCH v8 05/23] IB/Verbs: Reform IB-core sa_query Michael Wang
2015-05-05 12:50 ` [PATCH v8 06/23] IB/Verbs: Reform IB-core multicast Michael Wang
2015-05-05 12:50 ` [PATCH v8 07/23] IB/Verbs: Reform IB-ulp ipoib Michael Wang
2015-05-05 12:50 ` [PATCH v8 08/23] IB/Verbs: Reform IB-ulp xprtrdma Michael Wang
2015-05-05 12:50 ` [PATCH v8 09/23] IB/Verbs: Reform IB-core verbs Michael Wang
2015-05-05 12:50 ` [PATCH v8 10/23] IB/Verbs: Reform cm related part in IB-core cma/ucm Michael Wang
2015-05-05 12:50 ` [PATCH v8 11/23] IB/Verbs: Reform route related part in IB-core cma Michael Wang
2015-05-05 12:50 ` [PATCH v8 13/23] IB/Verbs: Reform cma_acquire_dev() Michael Wang
2015-05-05 12:50 ` [PATCH v8 14/23] IB/Verbs: Reform rest part in IB-core cma Michael Wang
2015-05-05 12:50 ` [PATCH v8 16/23] IB/Verbs: Use management helper rdma_cap_ib_smi() Michael Wang
2015-05-05 12:50 ` [PATCH v8 17/23] IB/Verbs: Use management helper rdma_cap_ib_cm() Michael Wang
2015-05-05 12:50 ` [PATCH v8 18/23] IB/Verbs: Use management helper rdma_cap_iw_cm() Michael Wang
2015-05-05 12:50 ` [PATCH v8 19/23] IB/Verbs: Use management helper rdma_cap_ib_sa() Michael Wang
2015-05-05 12:50 ` [PATCH v8 21/23] IB/Verbs: Use management helper rdma_cap_read_multi_sge() Michael Wang
2015-05-05 12:50 ` [PATCH v8 22/23] IB/Verbs: Use management helper rdma_cap_af_ib() Michael Wang
2015-05-05 12:50 ` [PATCH v8 23/23] IB/Verbs: Use management helper rdma_cap_eth_ah() Michael Wang
2015-05-05 14:16 ` [PATCH v8 00/23] IB/Verbs: IB Management Helpers Or Gerlitz
2015-05-05 14:40 ` Michael Wang
2015-05-08 16:28 ` Devesh Sharma
2015-05-11 23:49 ` ira.weiny
[not found] ` <20150511234910.GA20027-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2015-05-12 0:27 ` Doug Ledford
[not found] ` <1431390420.43876.4.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-05-12 7:57 ` Michael Wang
2015-05-12 14:24 ` Doug Ledford
[not found] ` <1431440667.43876.23.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-05-12 14:28 ` Michael Wang
2015-05-12 18:09 ` Jason Gunthorpe
[not found] ` <20150512180942.GC15891-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-05-12 20:09 ` Doug Ledford
[not found] ` <1431461362.43876.81.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-05-13 7:44 ` Michael Wang
2015-05-12 8:04 ` Michael Wang
2015-05-05 12:50 ` [PATCH v8 12/23] IB/Verbs: Reform mcast related part in IB-core cma Michael Wang
2015-05-05 12:50 ` [PATCH v8 15/23] IB/Verbs: Use management helper rdma_cap_ib_mad() Michael Wang
2015-05-05 12:50 ` [PATCH v8 20/23] IB/Verbs: Use management helper rdma_cap_ib_mcast() Michael Wang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1430830240-32389-5-git-send-email-yun.wang@profitbricks.com \
--to=yun.wang-eikl63zcoxah+58jc4qpia@public.gmane.org \
--cc=Devesh.Sharma-iH1Dq9VlAzfQT0dZR+AlfA@public.gmane.org \
--cc=dgoodell-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org \
--cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=eli-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
--cc=faisal.latif-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=haggaie-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
--cc=hal-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org \
--cc=hnguyen-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org \
--cc=infinipath-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=jackm-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org \
--cc=jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=liranl-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
--cc=ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
--cc=raisch-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org \
--cc=roland-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org \
--cc=tom-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org \
--cc=tom-CLs1Zie5N5HQT0dZR+AlfA@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox