--- linux-2.4.29-rc2/net/core/neighbour.c 2005/01/13 21:55:06 1.1 +++ linux-2.4.29-rc2/net/core/neighbour.c 2005/01/13 21:56:32 @@ -427,11 +427,12 @@ n->confirmed = jiffies - (n->parms->base_reachable_time<<1); - hash_val = tbl->hash(pkey, dev) & tbl->hash_mask; - write_lock_bh(&tbl->lock); if (atomic_read(&tbl->entries) > (tbl->hash_mask + 1)) neigh_hash_grow(tbl, (tbl->hash_mask + 1) << 1); + + hash_val = tbl->hash(pkey, dev) & tbl->hash_mask; + for (n1 = tbl->hash_buckets[hash_val]; n1; n1 = n1->next) { if (dev == n1->dev && memcmp(n1->primary_key, pkey, key_len) == 0) {