diff options
author | Sam Leffler <sam@FreeBSD.org> | 2009-06-02 18:53:21 +0000 |
---|---|---|
committer | Sam Leffler <sam@FreeBSD.org> | 2009-06-02 18:53:21 +0000 |
commit | c9dd371765b34cf81049f96631105d0068d2fa4e (patch) | |
tree | 6a1cd28a0219122cb8099da14d1b15ab48006cb8 /sys/net | |
parent | bd875f5f13b7874fc451fd1295730f577bcbc2bd (diff) | |
download | src-c9dd371765b34cf81049f96631105d0068d2fa4e.tar.gz src-c9dd371765b34cf81049f96631105d0068d2fa4e.zip |
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
Notes
Notes:
svn path=/head/; revision=193336
Diffstat (limited to 'sys/net')
-rw-r--r-- | sys/net/if.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/sys/net/if.c b/sys/net/if.c index 9a3c1fdedf3a..ffff619d2794 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -574,6 +574,7 @@ if_free_internal(struct ifnet *ifp) knlist_destroy(&ifp->if_klist); IF_AFDATA_DESTROY(ifp); IF_ADDR_LOCK_DESTROY(ifp); + ifq_detach(&ifp->if_snd); free(ifp, M_IFNET); } @@ -1025,9 +1026,6 @@ if_detach_internal(struct ifnet *ifp, int vmove) } ifp->if_afdata_initialized = 0; IF_AFDATA_UNLOCK(ifp); - - if (!vmove) - ifq_detach(&ifp->if_snd); } #ifdef VIMAGE |