freebsd-dev/sys
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
..
alpha Always compile PFIL_HOOKS into the kernel and remove the associated kernel 2004-08-27 15:16:24 +00:00
amd64 Always compile PFIL_HOOKS into the kernel and remove the associated kernel 2004-08-27 15:16:24 +00:00
arm Add __elfN(dump_thread). This function is called from __elfN(coredump) 2004-08-11 02:35:06 +00:00
boot B1FLAGS -> BOOT_BOOT1_FLAGS, which is consistent with 2004-08-27 15:01:56 +00:00
cam Add locking to the kqueue subsystem. This also makes the kqueue subsystem 2004-08-15 06:24:42 +00:00
coda Put a version element in the VFS filesystem configuration structure 2004-07-30 22:08:52 +00:00
compat Regenerate after fcntl() wrappers were marked MP safe. 2004-08-24 20:24:34 +00:00
conf Properly document and enable the IPFIREWALL_FORWARD option. 2004-08-27 15:46:16 +00:00
contrib Use securelevel_gt instead of reading global securelevel unprotected. 2004-08-22 15:23:48 +00:00
crypto Use __FBSDID(). 2004-06-14 00:38:54 +00:00
ddb Damage control. Correcly advance symtab and strtab pointers, not 2004-07-28 08:59:08 +00:00
dev Apply error and success logic consistently to the function netisr_queue() and 2004-08-27 18:33:08 +00:00
doc Experimental support for using doxygen to generate kernel documentation. 2004-07-11 16:13:57 +00:00
fs Remove bogus vrele() call added in previous. 2004-08-27 11:24:31 +00:00
gdb Comment-out the debugging printf I left in in case there were some 2004-08-10 19:32:33 +00:00
geom Introduce g_alloc_bio() as a waiting variant of g_new_bio(). 2004-08-27 14:43:11 +00:00
gnu Add locking to the kqueue subsystem. This also makes the kqueue subsystem 2004-08-15 06:24:42 +00:00
i4b Apply error and success logic consistently to the function netisr_queue() and 2004-08-27 18:33:08 +00:00
i386 Always compile PFIL_HOOKS into the kernel and remove the associated kernel 2004-08-27 15:16:24 +00:00
ia64 Always compile PFIL_HOOKS into the kernel and remove the associated kernel 2004-08-27 15:16:24 +00:00
isa Defer the capture of the "expected sync bits" until the first "normal" 2004-08-17 18:12:37 +00:00
isofs/cd9660 Put a version element in the VFS filesystem configuration structure 2004-07-30 22:08:52 +00:00
kern Reintroduce slightly modified patch from kern/69964. Check for 2004-08-27 01:41:28 +00:00
libkern Convert the vfsconf list to a TAILQ. 2004-07-27 22:32:01 +00:00
modules Always compile PFIL_HOOKS into the kernel and remove the associated kernel 2004-08-27 15:16:24 +00:00
net Apply error and success logic consistently to the function netisr_queue() and 2004-08-27 18:33:08 +00:00
net80211 Add a new network interface flag, IFF_NEEDSGIANT, which will allow 2004-07-27 23:20:45 +00:00
netatalk Inline umich license from COPYRIGHT to make it clear what license the 2004-08-10 03:23:05 +00:00
netatm Avoid casts as lvalues. 2004-07-28 06:59:55 +00:00
netgraph Apply error and success logic consistently to the function netisr_queue() and 2004-08-27 18:33:08 +00:00
netinet Apply error and success logic consistently to the function netisr_queue() and 2004-08-27 18:33:08 +00:00
netinet6 Apply error and success logic consistently to the function netisr_queue() and 2004-08-27 18:33:08 +00:00
netipsec Apply error and success logic consistently to the function netisr_queue() and 2004-08-27 18:33:08 +00:00
netipx Avoid casts as lvalues. Declare local variable as u_char * instead of 2004-07-28 06:58:23 +00:00
netkey Diff reduce against KAME: minor white space synchronization to KAME 2004-08-27 18:24:59 +00:00
netnatm Constify send and receive space constants in natm. 2004-06-24 03:11:29 +00:00
netncp Do the dreaded s/dev_t/struct cdev */ 2004-06-16 09:47:26 +00:00
netsmb Avoid casts as lvalues. 2004-07-28 06:59:55 +00:00
nfs
nfs4client Put a version element in the VFS filesystem configuration structure 2004-07-30 22:08:52 +00:00
nfsclient In nfs_timer(), pass curthread rather than &thread0 into the protocol 2004-08-25 01:23:38 +00:00
nfsserver Convert a mtx_lock(&Giant) to a mtx_unlock(&Giant) in nfsrv_link() to 2004-08-25 16:52:59 +00:00
opencrypto Don't acquire Giant in cryptof_close(), as the code is intended to be 2004-08-10 03:26:17 +00:00
pc98 Always compile PFIL_HOOKS into the kernel and remove the associated kernel 2004-08-27 15:16:24 +00:00
pccard Move PNP IDs back into oldcard files 2004-08-13 06:57:31 +00:00
pci if_dc includes locking, but that locking is disabled by a #ifdef 2004-08-25 03:37:25 +00:00
posix4
powerpc Always compile PFIL_HOOKS into the kernel and remove the associated kernel 2004-08-27 15:16:24 +00:00
rpc fix array index out of bounds in rpc->rc_srtt[], rpc->rc_sdrtt[] 2004-07-15 22:21:25 +00:00
security Allow mac_bsdextended(4) to log failed attempts to syslog's AUTHPRIV 2004-08-21 20:19:19 +00:00
sparc64 Always compile PFIL_HOOKS into the kernel and remove the associated kernel 2004-08-27 15:16:24 +00:00
sys Add a new module information type MODINFOMD_SHDR that will be used 2004-08-27 01:10:16 +00:00
tools Pass doxygen doc comments through to the output. 2004-07-11 16:14:24 +00:00
ufs Currently, if the secure level is low enough, system flags can 2004-08-22 02:03:41 +00:00
vm Move the cow field between wire_count and hold_count. This is the 2004-08-22 20:52:23 +00:00
Makefile Add a NO_BOOT knob to prevent building the boot blocks and loader. 2004-08-19 09:54:28 +00:00