From 2f0e17b7de4ce9a28f443e64477a2494b294ebad Mon Sep 17 00:00:00 2001 From: Gleb Smirnoff Date: Fri, 24 Jan 2020 17:24:02 +0000 Subject: [PATCH] re(4) uses taskqueue to process input packets. Enter network epoch in there. --- sys/dev/re/if_re.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sys/dev/re/if_re.c b/sys/dev/re/if_re.c index 1d750c25d23..76fa06f6358 100644 --- a/sys/dev/re/if_re.c +++ b/sys/dev/re/if_re.c @@ -2576,6 +2576,7 @@ re_intr(void *arg) static void re_int_task(void *arg, int npending) { + struct epoch_tracker et; struct rl_softc *sc; struct ifnet *ifp; u_int16_t status; @@ -2602,8 +2603,11 @@ re_int_task(void *arg, int npending) } #endif - if (status & (RL_ISR_RX_OK|RL_ISR_RX_ERR|RL_ISR_FIFO_OFLOW)) + if (status & (RL_ISR_RX_OK|RL_ISR_RX_ERR|RL_ISR_FIFO_OFLOW)) { + NET_EPOCH_ENTER(et); rval = re_rxeof(sc, NULL); + NET_EPOCH_EXIT(et); + } /* * Some chips will ignore a second TX request issued