--- src/sys/netinet/if_ether.c 2005/03/04 03:48:25 1.26 +++ src/sys/netinet/if_ether.c 2005/06/02 23:52:42 1.27 @@ -187,15 +187,15 @@ static struct callout arptimer_ch; static void arptimer(void *ignored_arg) { - int s = splnet(); struct llinfo_arp *la, *nla; + crit_enter(); LIST_FOREACH_MUTABLE(la, &llinfo_arp, la_le, nla) { if (la->la_rt->rt_expire && la->la_rt->rt_expire <= time_second) arptfree(la); /* might remove la from llinfo_arp! */ } callout_reset(&arptimer_ch, arpt_prune * hz, arptimer, NULL); - splx(s); + crit_exit(); } /*