Joerg Sonnenberger wrote:
> Index: usb_ethersubr.c
> ===================================================================
> RCS file: /home/joerg/wd/repository/dragonflybsd/src/sys/bus/usb/usb_ethersubr.c,v
> retrieving revision 1.10
> diff -u -r1.10 usb_ethersubr.c
> --- usb_ethersubr.c 23 Jul 2004 07:16:24 -0000 1.10
> +++ usb_ethersubr.c 15 Feb 2005 07:32:43 -0000
> @@ -135,10 +135,12 @@
> usb_ether_input(struct mbuf *m)
> {
> netisr_queue(NETISR_USB, m);
> + schednetisr(NETISR_USB);
> }
>
> void
> usb_tx_done(struct mbuf *m)
> {
> netisr_queue(NETISR_USB, m);
> + schednetisr(NETISR_USB);
> }
If nothing is queued on usbq_tx or usbq_rx, usbintr will not send or
receive packets, no matter how hard you try to schedule the isr. :-)