Protect em(4) refill timeout with splnet.
authorbluhm <bluhm@openbsd.org>
Sat, 30 Dec 2023 12:44:43 +0000 (12:44 +0000)
committerbluhm <bluhm@openbsd.org>
Sat, 30 Dec 2023 12:44:43 +0000 (12:44 +0000)
commite029c5abd3b09d9330864fd1028bea531462f079
tree631aa7862024fa4ddafdd97e81efaf93c908685c
parent93b38a1a21787c1a6cd1b3785a896c6cbf866a27
Protect em(4) refill timeout with splnet.

From time to time "pkt->pkt_m == NULL" or "m != NULL" assertions
were hit in the em driver.  Stack trace shows that em refill timeout
was interrupted by em interrupt.  Doing em_rxfill() and em_rxeof()
simultaneously cannot be correct.  Protect softclock in em_rxrefill()
with splnet().

OK mglocker@
sys/dev/pci/if_em.c