diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c index 4e2aa802bdb..2eb74088f85 100644 --- a/sys/net/if_bridge.c +++ b/sys/net/if_bridge.c @@ -859,6 +859,9 @@ bridge_delete_member(struct bridge_softc *sc, struct bridge_iflist *bif, bridge_rtdelete(sc, ifs, IFBF_FLUSHALL); + BRIDGE_UNLOCK(sc); + bstp_drain(&bif->bif_stp); /* prepare to free */ + BRIDGE_LOCK(sc); free(bif, M_DEVBUF); }