I wanted to apply this but I see some locking issues;

 > @@ -409,6 +427,9 @@ static void path_rec_completion(int status,
 >  
 >      spin_lock_irqsave(&priv->lock, flags);
 >  
 > +    if (path->ah)
 > +            ipoib_put_ah(path->ah);

Look at what ipoib_free_ah() does if this drops the last reference to
the ah (hint -- it takes priv->lock).  Is there any guarantee that there
are more references to this ah still held?  If so there needs to be a
comment explaining this (as other places in ipoib_main.c have).

 >              list_for_each_entry_safe(neigh, tn, &path->neigh_list, list) {
 > +                    if (neigh->ah)
 > +                            old_ah = neigh->ah;

is there any guarantee that this list has only one entry?  If so why?

 - R.
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to