diff options
Diffstat (limited to 'freebsd/sys/netatalk/at_control.c')
-rw-r--r-- | freebsd/sys/netatalk/at_control.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/freebsd/sys/netatalk/at_control.c b/freebsd/sys/netatalk/at_control.c index 1c5d0a56..5b31b47a 100644 --- a/freebsd/sys/netatalk/at_control.c +++ b/freebsd/sys/netatalk/at_control.c @@ -256,9 +256,9 @@ at_control(struct socket *so, u_long cmd, caddr_t data, struct ifnet *ifp, */ aa->aa_ifp = ifp; ifa_ref(&aa->aa_ifa); /* if_addrhead */ - IF_ADDR_LOCK(ifp); + IF_ADDR_WLOCK(ifp); TAILQ_INSERT_TAIL(&ifp->if_addrhead, ifa, ifa_link); - IF_ADDR_UNLOCK(ifp); + IF_ADDR_WUNLOCK(ifp); } else { /* * If we DID find one then we clobber any routes @@ -359,9 +359,9 @@ at_control(struct socket *so, u_long cmd, caddr_t data, struct ifnet *ifp, * remove the ifaddr from the interface */ ifa = (struct ifaddr *)aa; - IF_ADDR_LOCK(ifp); + IF_ADDR_WLOCK(ifp); TAILQ_REMOVE(&ifp->if_addrhead, ifa, ifa_link); - IF_ADDR_UNLOCK(ifp); + IF_ADDR_WUNLOCK(ifp); ifa_free(ifa); /* if_addrhead */ /* |