diff --git a/sys/netinet/ip_carp.c b/sys/netinet/ip_carp.c index 436385d373d1..a170e34d32d8 100644 --- a/sys/netinet/ip_carp.c +++ b/sys/netinet/ip_carp.c @@ -1605,12 +1605,12 @@ carp_free_if(struct carp_if *cif) IF_ADDR_WLOCK(ifp); ifp->if_carp = NULL; - if_rele(ifp); IF_ADDR_WUNLOCK(ifp); CIF_LOCK_DESTROY(cif); ifpromisc(ifp, 0); + if_rele(ifp); free(cif, M_CARP); }