diff --git a/sys/dev/fxp/if_fxp.c b/sys/dev/fxp/if_fxp.c index f87325b0482f..a51509e6d115 100644 --- a/sys/dev/fxp/if_fxp.c +++ b/sys/dev/fxp/if_fxp.c @@ -901,6 +901,7 @@ fxp_detach(device_t dev) CSR_WRITE_1(sc, FXP_CSR_SCB_INTRCNTL, FXP_SCB_INTR_DISABLE); fxp_stop(sc); FXP_UNLOCK(sc); + callout_drain(&sc->stat_ch); /* * Close down routes etc. diff --git a/sys/dev/hme/if_hme.c b/sys/dev/hme/if_hme.c index 703369172e12..8ed71b164008 100644 --- a/sys/dev/hme/if_hme.c +++ b/sys/dev/hme/if_hme.c @@ -388,6 +388,7 @@ hme_detach(struct hme_softc *sc) HME_LOCK(sc); hme_stop(sc); HME_UNLOCK(sc); + callout_drain(&sc->sc_tick_ch); device_delete_child(sc->sc_dev, sc->sc_miibus); for (i = 0; i < HME_NTXQ; i++) {