[ewg] [PATCHv8 02/11] ib_core: IBoE support only QP1

Roland Dreier rdreier at cisco.com
Wed May 12 12:56:58 PDT 2010


 > @@ -1017,9 +1020,12 @@ static void ib_sa_add_one(struct ib_device *device)
 >  	sa_dev->end_port   = e;
 >  
 >  	for (i = 0; i <= e - s; ++i) {
 > +		spin_lock_init(&sa_dev->port[i].ah_lock);
 > +		if (rdma_port_link_layer(device, i + 1) != IB_LINK_LAYER_INFINIBAND)
 > +			continue;

Not sure I understand why you move the initialization of the spinlock up
here?  It seems we ignore everything that might have to do with spinlock
if this is an IBoE port.

But the larger issue is what if someone calls one of the ib_sa_XXX_query
functions on an IBoE port?  Seems we just crash on uninitialized
structures.  I guess we're assuming that the kernel is smart enough not
to do that?

Also I'm wondering why you did the "count" stuff to ignore IBoE-only
devices in multicast.c but not sa_query.c?

 - R.
-- 
Roland Dreier <rolandd at cisco.com> || For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/index.html



More information about the ewg mailing list