diff --git a/sys/dev/re/if_re.c b/sys/dev/re/if_re.c --- a/sys/dev/re/if_re.c +++ b/sys/dev/re/if_re.c @@ -3558,6 +3558,7 @@ static void re_watchdog(struct rl_softc *sc) { + struct epoch_tracker et; if_t ifp; RL_LOCK_ASSERT(sc); @@ -3578,7 +3579,9 @@ if_printf(ifp, "watchdog timeout\n"); if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); + NET_EPOCH_ENTER(et); re_rxeof(sc, NULL); + NET_EPOCH_EXIT(et); if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); re_init_locked(sc); if (!if_sendq_empty(ifp))