move ifq_detach from if_detach to if_free; this permits callers to
reference if_snd in the period between detach+free which helps simplify detach code Reviewed by: jhb, rwatson
This commit is contained in:
parent
bd875f5f13
commit
c9dd371765
@ -574,6 +574,7 @@ if_free_internal(struct ifnet *ifp)
|
|||||||
knlist_destroy(&ifp->if_klist);
|
knlist_destroy(&ifp->if_klist);
|
||||||
IF_AFDATA_DESTROY(ifp);
|
IF_AFDATA_DESTROY(ifp);
|
||||||
IF_ADDR_LOCK_DESTROY(ifp);
|
IF_ADDR_LOCK_DESTROY(ifp);
|
||||||
|
ifq_detach(&ifp->if_snd);
|
||||||
free(ifp, M_IFNET);
|
free(ifp, M_IFNET);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1025,9 +1026,6 @@ if_detach_internal(struct ifnet *ifp, int vmove)
|
|||||||
}
|
}
|
||||||
ifp->if_afdata_initialized = 0;
|
ifp->if_afdata_initialized = 0;
|
||||||
IF_AFDATA_UNLOCK(ifp);
|
IF_AFDATA_UNLOCK(ifp);
|
||||||
|
|
||||||
if (!vmove)
|
|
||||||
ifq_detach(&ifp->if_snd);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef VIMAGE
|
#ifdef VIMAGE
|
||||||
|
Loading…
Reference in New Issue
Block a user