Index: sys/netinet6/nd6_nbr.c =================================================================== --- sys/netinet6/nd6_nbr.c +++ sys/netinet6/nd6_nbr.c @@ -83,7 +83,6 @@ struct dadq; static struct dadq *nd6_dad_find(struct ifaddr *, struct nd_opt_nonce *); -static void nd6_dad_add(struct dadq *dp); static void nd6_dad_del(struct dadq *dp); static void nd6_dad_rele(struct dadq *); static void nd6_dad_starttimer(struct dadq *, int); @@ -1205,15 +1204,6 @@ #define DADQ_LOCK_ASSERT() rw_assert(&V_dad_rwlock, RA_LOCKED) static void -nd6_dad_add(struct dadq *dp) -{ - - DADQ_WLOCK(); - TAILQ_INSERT_TAIL(&V_dadq, dp, dad_list); - DADQ_WUNLOCK(); -} - -static void nd6_dad_del(struct dadq *dp) { @@ -1360,12 +1350,12 @@ dp->dad_ns_ocount = dp->dad_ns_tcount = 0; dp->dad_ns_lcount = dp->dad_loopbackprobe = 0; refcount_init(&dp->dad_refcnt, 1); - nd6_dad_add(dp); + DADQ_WLOCK(); + TAILQ_INSERT_TAIL(&V_dadq, dp, dad_list); if (delay == 0) { nd6_dad_ns_output(dp, ifa); delay = (long)ND_IFINFO(ifa->ifa_ifp)->retrans * hz / 1000; } - DADQ_WLOCK(); nd6_dad_starttimer(dp, delay); DADQ_WUNLOCK(); }