summaryrefslogtreecommitdiffstats
path: root/freebsd/sys/netatalk/aarp.c
diff options
context:
space:
mode:
Diffstat (limited to 'freebsd/sys/netatalk/aarp.c')
-rw-r--r--freebsd/sys/netatalk/aarp.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/freebsd/sys/netatalk/aarp.c b/freebsd/sys/netatalk/aarp.c
index d8daf757..0d469f1d 100644
--- a/freebsd/sys/netatalk/aarp.c
+++ b/freebsd/sys/netatalk/aarp.c
@@ -408,7 +408,7 @@ at_aarpinput(struct ifnet *ifp, struct mbuf *m)
* Since we don't know the net, we just look for the first
* phase 1 address on the interface.
*/
- IF_ADDR_LOCK(ifp);
+ IF_ADDR_RLOCK(ifp);
for (aa = (struct at_ifaddr *)TAILQ_FIRST(&ifp->if_addrhead);
aa;
aa = (struct at_ifaddr *)aa->aa_ifa.ifa_link.tqe_next) {
@@ -418,12 +418,12 @@ at_aarpinput(struct ifnet *ifp, struct mbuf *m)
}
}
if (aa == NULL) {
- IF_ADDR_UNLOCK(ifp);
+ IF_ADDR_RUNLOCK(ifp);
m_freem(m);
return;
}
ifa_ref(&aa->aa_ifa);
- IF_ADDR_UNLOCK(ifp);
+ IF_ADDR_RUNLOCK(ifp);
tpa.s_net = spa.s_net = AA_SAT(aa)->sat_addr.s_net;
}