Index: head/sys/boot/kshim/bsd_kernel.c =================================================================== --- head/sys/boot/kshim/bsd_kernel.c +++ head/sys/boot/kshim/bsd_kernel.c @@ -138,6 +138,7 @@ { int start = ticks; int delta; + int time = 0; if (cv->sleeping) return (EWOULDBLOCK); /* not allowed */ @@ -154,6 +155,14 @@ usb_idle(); + if (++time >= (1000000 / hz)) { + time = 0; + callout_process(1); + } + + /* Sleep for 1 us */ + delay(1); + mtx_lock(mtx); }