Don't call if_deactivate() in switch_clone_destroy(). Following if_detach() will do this.
Index: sys/net/if_switch.c =================================================================== RCS file: /cvs/src/sys/net/if_switch.c,v retrieving revision 1.38 diff -u -p -r1.38 if_switch.c --- sys/net/if_switch.c 28 Aug 2020 12:01:48 -0000 1.38 +++ sys/net/if_switch.c 1 Jan 2021 22:38:00 -0000 @@ -208,7 +208,6 @@ switch_clone_destroy(struct ifnet *ifp) bstp_destroy(sc->sc_stp); swofp_destroy(sc); switch_dev_destroy(sc); - if_deactivate(ifp); if_detach(ifp); free(sc, M_DEVBUF, sizeof(*sc));