On Thu, Feb 25, 2010 at 11:29:02AM -0800, Ralph Campbell wrote: > .... I haven't looked carefully at the whole patch, but this bit looks wrong:
> @@ -848,61 +823,112 @@ static void ipoib_neigh_cleanup(struct neighbour *n) > struct ipoib_neigh *neigh; > struct ipoib_dev_priv *priv = netdev_priv(n->dev); > unsigned long flags; > - struct ipoib_ah *ah = NULL; > + > + spin_lock_irqsave(&priv->lock, flags); > > neigh = *to_ipoib_neigh(n); > - if (neigh) > - priv = netdev_priv(neigh->dev); > - else > + if (neigh) { Should this be "if (!neigh)" ? > + spin_unlock_irqrestore(&priv->lock, flags); > return; > + } > + *to_ipoib_neigh(n) = NULL; > + neigh->neighbour = NULL; > + -- Arthur -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html