On Tue, Apr 14, 2015 at 10:35:34AM +0200, Michael Wang wrote:
> 
> 
> On 04/13/2015 09:25 PM, Hefty, Sean wrote:
> >> @@ -1037,17 +1033,13 @@ void rdma_destroy_id(struct rdma_cm_id *id)
> >>    mutex_unlock(&id_priv->handler_mutex);
> >>
> >>    if (id_priv->cma_dev) {
> >> -          switch (rdma_node_get_transport(id_priv->id.device-
> >>> node_type)) {
> >> -          case RDMA_TRANSPORT_IB:
> >> +          if (rdma_ib_or_iboe(id_priv->id.device, id_priv->id.port_num))
> > 
> > A listen id can be associated with a device without being associated with a 
> > port (see the listen_any_list). 
> Some other check is needed to handle this case.  I guess the code could check 
> the first port on the device
> (replace port_num with hardcoded value 1).  Then we wouldn't be any more 
> broken than the code already is.
> (The 'break' is conceptual, not practical.)
> 
> Agree, seems like this is very similar to the case of cma_listen_on_dev() 
> which
> do not associated with any particular port in #24.
> 
> If the port 1 is enough to present the whole device's cm capability, maybe we 
> can
> get rid of cap_ib_cm_dev() too?
> 
> And maybe cap_ib_cm(device, device->node_type == RDMA_NODE_IB_SWITCH ? 0:1) 
> would
> be safer?

I don't see support for switch port 0 in cm_add_one() now.  Are switches 
supposed
to be supported?

Ira

> 
> Regards,
> Michael Wang
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to