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 Let ADB button devices send PMF events instead of pretending to be keyboards. 2008-05-15 19:19:50 +00:00
apm use device_lookup_private to get softc 2008-06-12 21:46:21 +00:00
arcbios Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
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 Replace most gcc-specific __attribute__ uses with BSD-style sys/cdef.h 2008-09-08 23:36:53 +00:00
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 Update dmover fileops to compile again. From he@. 2008-03-26 13:33:58 +00:00
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 Both legs of a diagraph must return the same type. 2008-06-24 10:05:01 +00:00
hpc device_private_lookup()-ification so that hpcarm (at jeast Jornada 72x) 2008-06-12 01:46:32 +00:00
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 replace \xa0 with space from Andy Shevchenko 2008-09-10 19:20:06 +00:00
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 Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
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 fix device is not split warning 2008-09-04 10:42:55 +00:00
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 Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
rcons - Factor out too many copies of the same bit of tty code. 2007-11-19 18:51:36 +00:00
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 Backout previous: the license sweep touched these files in error, so 2008-05-10 15:31:03 +00:00
std Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
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 Convert to new 2 clause license 2008-04-29 06:53:00 +00:00
wsfont Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
xmi Rototill the vax code. Switch to devicet/PRIV_ALLOC. Cleanup vax autoconf 2008-03-11 05:34:01 +00:00
auconv.c remove extra semicolons. 2009-01-03 03:43:21 +00:00
auconv.h Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
audio_if.h Split device_t and softc for audio(4), and other related cosmetic changes. 2008-03-04 18:23:44 +00:00
audio.c device_private(device_lookup()) -> device_lookup_private() 2008-06-10 22:53:08 +00:00
audiobell.c kill MALLOC and FREE macros. 2008-12-17 20:51:31 +00:00
audiobellvar.h
audiovar.h Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
aurateconv.c Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
bio.c use aprint_*_dev and device_xname 2008-04-09 05:47:19 +00:00
biovar.h Add definitions to specify RAID 0+1/1+0 levels. 2008-03-03 13:43:19 +00:00
ccd.c g/c BUFQ_FOO() macros and use bufq_foo() directly. 2009-01-13 13:33:58 +00:00
ccdvar.h Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
cgd_crypto.c Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
cgd_crypto.h Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
cgd.c make this compile 2009-01-11 09:51:38 +00:00
cgdvar.h PR/39525: Joachim Schueth, Frederik Sausmikat: 2008-09-12 16:51:55 +00:00
clock_subr.c
clock_subr.h Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
clockctl.c merge christos-time_t 2009-01-11 02:45:45 +00:00
cninit.c foo() -> foo(void) 2008-03-11 05:31:00 +00:00
cons.c specfs changes for PR kern/37717 (raidclose() is no longer called on 2008-01-24 17:32:52 +00:00
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 Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
firmload.c Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
firmload.h Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
fss.c g/c BUFQ_FOO() macros and use bufq_foo() directly. 2009-01-13 13:33:58 +00:00
fssvar.h Replace the fss unmount hook with a vfs_hook. 2008-09-17 14:49:25 +00:00
kloader.c vm_page: put TAILQ_ENTRY into a union with LIST_ENTRY, so we can use both. 2008-06-04 12:41:40 +00:00
kloader.h Replace most gcc-specific __attribute__ uses with BSD-style sys/cdef.h 2008-09-08 23:36:53 +00:00
kttcp.c Merge the socket locking patch: 2008-04-24 11:38:36 +00:00
kttcpio.h
ld.c g/c BUFQ_FOO() macros and use bufq_foo() directly. 2009-01-13 13:33:58 +00:00
ldvar.h Complete device_t/softc split for the ld(4) attachments. This should 2008-09-09 12:45:39 +00:00
lockstat.c Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
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 Allow md_root_setconf() to set in a miniroot as the root file system 2008-05-02 13:02:31 +00:00
md.c g/c BUFQ_FOO() macros and use bufq_foo() directly. 2009-01-13 13:33:58 +00:00
md.h Allow md_root_setconf() to set in a miniroot as the root file system 2008-05-02 13:02:31 +00:00
midi_if.h Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
midi.c use device_lookup to get device_t 2008-06-12 22:29:41 +00:00
midictl.c The forward declation in the parameter list for a variable-length array is 2008-06-24 10:55:48 +00:00
midictl.h Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
midisyn.c Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
midisynvar.h Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
midivar.h Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
mm.c Need to include sys/termios.h here too. 2008-10-08 16:11:23 +00:00
mulaw.c Split device_t and softc for audio(4), and other related cosmetic changes. 2008-03-04 18:23:44 +00:00
mulaw.h Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
nullcons_subr.c Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
radio_if.h - use aprint in attach 2008-07-09 13:12:54 +00:00
radio.c - use aprint in attach 2008-07-09 13:12:54 +00:00
rnd.c mark callout mpsafe, next comes moving some of the (silly) estimator 2008-08-16 13:07:30 +00:00
rndpool.c Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
sequencer.c make this compile 2009-01-11 10:40:27 +00:00
sequencervar.h Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
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 Add RGB555, RGB565, UYVY support 2008-09-20 18:13:40 +00:00
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 Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00