Subject: Re: [PATCH] net: Move destructor from neigh->ops to neigh_params

From: Roland Dreier <[email-masked]>
Date: Mon, 06 Mar 2006 21:50:30 -0800

Andrew> I'm also wondering why a combination of the net and
    Andrew> infiniband trees does this:

    Andrew> drivers/infiniband/ulp/ipoib/ipoib_multicast.c: In
    Andrew> function `ipoib_mcast_free':
    Andrew> drivers/infiniband/ulp/ipoib/ipoib_multicast.c:118: error:
    Andrew> structure has no member named `destructor'

A cock-up on my part.  I think I fixed this when testing the patch,
and promptly forgot about doing it.  Then when I reposted the patch to
netdev, I decided to be very careful about things, so I went back to
pristine sources from Michael's message, which of course is missing
the following chunk:

diff --git a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
index fde442a..93c462e 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
@@ -115,7 +115,6 @@ static void ipoib_mcast_free(struct ipoi
 		if (neigh->ah)
 			ipoib_put_ah(neigh->ah);
 		*to_ipoib_neigh(neigh->neighbour) = NULL;
-		neigh->neighbour->ops->destructor = NULL;
 		kfree(neigh);
 	}