NetBSD/sys/dev
dyoung 6ebb93d58e Protect against spurious "bnx0: Double mbuf allocation failure!"
panics.

Extract a new function, bnx_add_buf(), from bnx_get_buf().
bnx_add_buf() just tries to add an mbuf to the Rx chain.  bnx_get_buf()
tries to allocate an mbuf, first, and then to add the mbuf to the
chain.  Use bnx_add_buf() to try to put an mbuf that we took off
of the chain back onto the chain, and use bnx_get_buf() everywhere
else.

This change seems to be in keeping with the author's intent, but
it looks like the code broke at some point.

Thanks to Jarle Greipsland, David Dudley, and others for reporting
this bug and for testing patches.
2009-01-27 21:15:38 +00:00
..
acpi PR/40471: Pierre Pronchery: ASUS CUR-DLS board found on HP NetServer E800 box 2009-01-25 02:26:30 +00:00
adb
apm
arcbios
ata g/c BUFQ_FOO() macros and use bufq_foo() directly. 2009-01-13 13:33:58 +00:00
bi *** Summary *** 2008-11-07 00:20:01 +00:00
bluetooth merge christos-time_t 2009-01-11 02:45:45 +00:00
cardbus The PCI revision numbers are unique to a PCI vendor/product 2009-01-18 10:37:03 +00:00
dec
dkwedge g/c BUFQ_FOO() macros and use bufq_foo() directly. 2009-01-13 13:33:58 +00:00
dm Move back to printing the minor device as a 32-bit entity 2009-01-22 04:56:06 +00:00
dmover
drm Change major()/minor() to return 32-bit types again, called 2009-01-20 18:20:47 +00:00
ebus use the prom addresses except on MSIIEP. 2009-01-06 04:04:55 +00:00
eisa add a comment explaining how to regenerate eisadevs.h and eisadevs_data.h 2009-01-21 14:18:44 +00:00
gpib g/c BUFQ_FOO() macros and use bufq_foo() directly. 2009-01-13 13:33:58 +00:00
gpio
hpc
i2c Include ADT7460 in chip table (it's identical to the ADT7463, except for 2009-01-14 13:54:29 +00:00
i2o More device_t/softc split fallout, this time in iop(4). Fix from 2008-12-15 18:35:48 +00:00
ic - use device_t and cfdata_t 2009-01-27 11:26:15 +00:00
ieee1394 merge christos-time_t 2009-01-11 02:45:45 +00:00
if_ndis Remove LKMs and switch to the module framework, pass 1. 2008-11-12 12:35:50 +00:00
ir Avoid crash under LOCKDEBUG by destroying a mutex correctly. 2009-01-11 14:28:13 +00:00
isa g/c BUFQ_FOO() macros and use bufq_foo() directly. 2009-01-13 13:33:58 +00:00
isapnp add a comment explaining how to regenerate isapnpdevs.h and isapnpdevs.c 2009-01-21 14:22:46 +00:00
marvell remove extra semicolons. 2009-01-03 03:43:21 +00:00
mca add a comment explaining how to regenerate mcadevs.h and mcadevs_data.h 2009-01-21 14:24:52 +00:00
microcode
mii add a comment explaining how to regenerate miidevs.h and miidevs_data.h 2009-01-21 14:08:03 +00:00
mscp buildfix: re-adapt to major() return a 32bit value again. 2009-01-22 17:32:20 +00:00
mvme Follow up the removal of the MALLOC() macro, use malloc() instead. 2008-12-21 18:01:42 +00:00
news
ofisa
ofw remove extra semicolons. 2009-01-03 03:43:21 +00:00
onewire add a comment explaining how to regenerate onewiredevs.h and onewiredevs_data.h 2009-01-21 14:27:58 +00:00
pad
pci Protect against spurious "bnx0: Double mbuf allocation failure!" 2009-01-27 21:15:38 +00:00
pckbport Silence printf in common "device not found" error path. 2008-12-30 10:44:30 +00:00
pcmcia add a comment explaining how to regenerate pcmicadevs.h and pcmciadevs_data.h 2009-01-21 14:13:09 +00:00
podulebus Split device_t from wd33c93_softc. Reviewed by cube; tested on sgimips 2009-01-25 15:23:42 +00:00
ppbus replace bitmask_snprintf(9) with snprintb(3) 2008-12-16 22:35:21 +00:00
pud Change major()/minor() to return 32-bit types again, called 2009-01-20 18:20:47 +00:00
putter Change major()/minor() to return 32-bit types again, called 2009-01-20 18:20:47 +00:00
qbus buildfix: re-adapt to major()/minor() return a 32bit value again. 2009-01-22 17:34:22 +00:00
raidframe add compat50 ioctls. 2009-01-18 16:37:19 +00:00
rasops
rcons
sbus remove extra semicolons. 2009-01-03 03:43:21 +00:00
scsipi buildfix: re-adapt to major()/minor() returning a 32bit value. 2009-01-21 17:16:12 +00:00
smbus
spi g/c BUFQ_FOO() macros and use bufq_foo() directly. 2009-01-13 13:33:58 +00:00
splash
std
sun protect kernel inline with _KERNEL 2009-01-12 02:26:16 +00:00
sysmon Fix typo in previous, and wrap a panic with #ifdef DIAGNOSTIC 2008-11-11 19:03:06 +00:00
tc add a comment explaining how to regenerate tcdevs.h and tcdevs_data.h 2009-01-21 14:34:18 +00:00
tprof comment 2009-01-20 15:13:54 +00:00
usb buildfix: re-adapt to major()/minor() returning a 32bit value again. 2009-01-22 16:12:43 +00:00
videomode add a comment explaining how to regenerate videomode.c 2009-01-21 14:40:25 +00:00
vme g/c BUFQ_FOO() macros and use bufq_foo() directly. 2009-01-13 13:33:58 +00:00
wscons Avoid deadlock in tty code if a terminal emulation responds to 2009-01-22 20:40:20 +00:00
wsfb
wsfont
xmi
auconv.c remove extra semicolons. 2009-01-03 03:43:21 +00:00
auconv.h
audio_if.h
audio.c
audiobell.c kill MALLOC and FREE macros. 2008-12-17 20:51:31 +00:00
audiobellvar.h
audiovar.h
aurateconv.c
bio.c
biovar.h
ccd.c g/c BUFQ_FOO() macros and use bufq_foo() directly. 2009-01-13 13:33:58 +00:00
ccdvar.h
cgd_crypto.c
cgd_crypto.h
cgd.c make this compile 2009-01-11 09:51:38 +00:00
cgdvar.h
clock_subr.c
clock_subr.h
clockctl.c merge christos-time_t 2009-01-11 02:45:45 +00:00
cninit.c
cons.c
cons.h
DEVNAMES Add siisata(4) to the lists. From KIYOHARA Takashi. 2008-12-16 02:14:24 +00:00
dksubr.c g/c BUFQ_FOO() macros and use bufq_foo() directly. 2009-01-13 13:33:58 +00:00
dkvar.h
firmload.c
firmload.h
fss.c g/c BUFQ_FOO() macros and use bufq_foo() directly. 2009-01-13 13:33:58 +00:00
fssvar.h
kloader.c
kloader.h
kttcp.c
kttcpio.h
ld.c g/c BUFQ_FOO() macros and use bufq_foo() directly. 2009-01-13 13:33:58 +00:00
ldvar.h
lockstat.c
lockstat.h bump lockstat interface version for timespec. 2009-01-20 14:49:00 +00:00
Makefile wrap lines. no functional change. 2008-11-06 17:50:59 +00:00
md_root.c
md.c g/c BUFQ_FOO() macros and use bufq_foo() directly. 2009-01-13 13:33:58 +00:00
md.h
midi_if.h
midi.c
midictl.c
midictl.h
midisyn.c
midisynvar.h
midivar.h
mm.c
mulaw.c
mulaw.h
nullcons_subr.c
radio_if.h
radio.c
rnd.c
rndpool.c
sequencer.c make this compile 2009-01-11 10:40:27 +00:00
sequencervar.h
verified_exec.c PR/39559: Juan RP: veriexec(4): too easy to cause a NULL dereference 2008-12-14 23:20:23 +00:00
video_if.h
video.c -avoid eternal block if device is not streaming 2009-01-20 20:18:28 +00:00
vnd.c g/c BUFQ_FOO() macros and use bufq_foo() directly. 2009-01-13 13:33:58 +00:00
vndvar.h