Do not try to unlock lle which is not locked.

This is not a proper fix, proper one is on the way.
This commit is contained in:
Alexander V. Chernikov 2014-11-23 17:45:49 +00:00
parent 4c9df1c5b8
commit ec25679569

View File

@ -711,13 +711,10 @@ fib6_storelladdr(struct ifnet *ifp, struct in6_addr *dst, int mm_flags,
*/
if (ln == NULL || (ln->ln_state != ND6_LLINFO_REACHABLE &&
ln->ln_state != ND6_LLINFO_DELAY)) {
if (ln != NULL)
LLE_RUNLOCK(ln);
IF_AFDATA_RUN_RUNLOCK(ifp);
return (1);
}
bcopy(&ln->ll_addr, desten, ifp->if_addrlen);
LLE_RUNLOCK(ln);
IF_AFDATA_RUN_RUNLOCK(ifp);
return (0);