usb_block_allocmem() does not sleep and is careful to always use the BUS_DMA_NOWAIT flag. So why the assertwaitok()?
Gerhard Index: sys/dev/usb/usb_mem.c =================================================================== RCS file: /cvs/src/sys/dev/usb/usb_mem.c,v retrieving revision 1.31 diff -u -p -u -p -r1.31 usb_mem.c --- sys/dev/usb/usb_mem.c 18 Nov 2018 16:33:26 -0000 1.31 +++ sys/dev/usb/usb_mem.c 5 Dec 2018 10:53:39 -0000 @@ -108,8 +108,6 @@ usb_block_allocmem(bus_dma_tag_t tag, si } splx(s); - assertwaitok(); - DPRINTFN(6, ("usb_block_allocmem: no free\n")); p = malloc(sizeof *p, M_USB, M_NOWAIT); if (p == NULL)