freebsd-dev/sys/i4b
Andre Oppermann 3161f583ca Apply error and success logic consistently to the function netisr_queue() and
its users.

netisr_queue() now returns (0) on success and ERRNO on failure.  At the
moment ENXIO (netisr queue not functional) and ENOBUFS (netisr queue full)
are supported.

Previously it would return (1) on success but the return value of IF_HANDOFF()
was interpreted wrongly and (0) was actually returned on success.  Due to this
schednetisr() was never called to kick the scheduling of the isr.  However this
was masked by other normal packets coming through netisr_dispatch() causing the
dequeueing of waiting packets.

PR:		kern/70988
Found by:	MOROHOSHI Akihiko <moro@remus.dti.ne.jp>
MFC after:	3 days
2004-08-27 18:33:08 +00:00
..
capi Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
driver Apply error and success logic consistently to the function netisr_queue() and 2004-08-27 18:33:08 +00:00
include Do a pass over all modules in the kernel and make them return EOPNOTSUPP 2004-07-15 08:26:07 +00:00
layer1 Fix a possible hang which apparently occurs during a warm boot (cold boot 2004-07-18 20:13:31 +00:00
layer2 Use __FBSDID(). 2003-06-11 00:01:05 +00:00
layer3 Use __FBSDID(). 2003-06-11 00:01:05 +00:00
layer4 Do the dreaded s/dev_t/struct cdev */ 2004-06-16 09:47:26 +00:00