re(4) uses taskqueue to process input packets. Enter network epoch

in there.
This commit is contained in:
Gleb Smirnoff 2020-01-24 17:24:02 +00:00
parent 5ab0c8434a
commit 2f0e17b7de

View File

@ -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