From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hal Rosenstock Subject: Re: [PATCH ibacm 2/8] acm.c: In acm_port_up, handle noncontiguous pkeys Date: Wed, 07 Aug 2013 14:20:53 -0400 Message-ID: <52029005.3080007@dev.mellanox.co.il> References: <5200E1CD.6070705@dev.mellanox.co.il> <1828884A29C6694DAF28B7E6B8A8237388CA48C0@ORSMSX109.amr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1828884A29C6694DAF28B7E6B8A8237388CA48C0-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org> Sender: linux-rdma-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: "Hefty, Sean" Cc: "linux-rdma (linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org)" List-Id: linux-rdma@vger.kernel.org On 8/7/2013 1:35 PM, Hefty, Sean wrote: >> There can be "holes" in pkey table although this is not usually the case >> but since IBA spec allows for this, it should be handled. >> >> Signed-off-by: Hal Rosenstock >> --- >> src/acm.c | 14 +++++++------- >> 1 files changed, 7 insertions(+), 7 deletions(-) >> >> diff --git a/src/acm.c b/src/acm.c >> index 81aeeb4..a15f094 100644 >> --- a/src/acm.c >> +++ b/src/acm.c >> @@ -3192,11 +3192,6 @@ static void acm_port_up(struct acm_port *port) >> break; >> } >> >> - for (port->pkey_cnt = 0;; port->pkey_cnt++) { >> - ret = ibv_query_pkey(port->dev->verbs, port->port_num, port- >>> pkey_cnt, &pkey); >> - if (ret || !pkey) >> - break; >> - } >> port->lid = attr.lid; >> port->lid_mask = 0xffff - ((1 << attr.lmc) - 1); >> >> @@ -3214,8 +3209,13 @@ static void acm_port_up(struct acm_port *port) >> return; >> >> atomic_set(&port->sa_dest.refcnt, 1); >> - for (i = 0; i < port->pkey_cnt; i++) >> - acm_ep_up(port, (uint16_t) i); >> + for (i = 0; i < attr.pkey_tbl_len; i++) { >> + ret = ibv_query_pkey(port->dev->verbs, port->port_num, i, &pkey); >> + if (ret || !pkey) >> + continue; >> + port->pkey_cnt++; >> + acm_ep_up(port, (uint16_t) i); >> + } > > I think we can remove pkey_cnt from struct acm_port as part of this change. If you agree, I can fix that up when applying the patch (no need to update). Agreed. Thanks. -- Hal -- 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