Hi, is it safe to call usbd_delay_ms() from under splusb()? In axen(4), axen_rxeof() is called from usb_transfer_complete() which runs at splusb() (called via usbd_transfer()).
The following patch prevents a panic on my system. Index: sys/dev/usb/if_axen.c =================================================================== RCS file: /cvs/src/sys/dev/usb/if_axen.c,v retrieving revision 1.25 diff -u -r1.25 if_axen.c --- sys/dev/usb/if_axen.c 12 Jun 2018 06:59:27 -0000 1.25 +++ sys/dev/usb/if_axen.c 30 Nov 2018 14:47:49 -0000 @@ -937,7 +937,6 @@ /* sanity check */ if (hdr_offset > total_len) { ifp->if_ierrors++; - usbd_delay_ms(sc->axen_udev, 100); goto done; }