linux_old1/drivers/net/wireless/rtlwifi
Larry Finger a9e1286975 rtlwifi: Fix kernel panic resulting from RX buffer allocation failure
To handle amsdu_8k capability, the PCI routine of this driver must
allocate receive buffers of order 2. Under heavy load, this causes
fragmentation of memory. The present code releases the current buffer
before checking to see if a new one is availble. Recovery from
allocation failures is not possible, which results in kernel panics.

The fix is to reorder the code to check that a new buffer can be
allocated before the old one is released. If not possible, the
received frame is dropped and the old one is reused. Without this
change, it is impossible to transfer a 2 GB file without a kernel panic.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Stable <stable@vger.kernel.org>              [2.6.{37,38,39}]
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-05-26 15:43:29 -04:00
..
rtl8192c rtlwifi: rtl8192c-common: rtl8192ce: Fix for HT40 regression 2011-05-16 14:25:30 -04:00
rtl8192ce rtlwifi: rtl8192c-common: rtl8192ce: Fix for HT40 regression 2011-05-16 14:25:30 -04:00
rtl8192cu rtlwifi: rtl8192cu: Fix memset/memcpy using sizeof(ptr) not sizeof(*ptr) 2011-05-10 15:54:51 -04:00
rtl8192se rtlwifi: rtl8192se: Remove need to disable ASPM 2011-05-10 15:54:47 -04:00
Kconfig rtlwifi: rtl8192se: Modify Kconfig and Makefile routines for new driver 2011-05-05 14:59:14 -04:00
Makefile rtlwifi: rtl8192se: Modify Kconfig and Makefile routines for new driver 2011-05-05 14:59:14 -04:00
base.c rtlwifi: rtl8192ce: rtl8192cu: Fix most sparse warnings 2011-04-26 16:14:55 -04:00
base.h rtlwifi: Change base routines for addition of rtl8192se and rtl8192de 2011-04-26 16:13:31 -04:00
cam.c rtlwifi: Change cam routines for addition of rtl8192se and rtl8192de 2011-04-26 16:13:31 -04:00
cam.h rtlwifi: Change cam routines for addition of rtl8192se and rtl8192de 2011-04-26 16:13:31 -04:00
core.c rtlwifi: Convert core routines for addition of rtl8192se and rtl8192de 2011-04-26 16:13:32 -04:00
core.h rtlwifi: Convert core routines for addition of rtl8192se and rtl8192de 2011-04-26 16:13:32 -04:00
debug.c
debug.h rtlwifi: Modify core routines 2011-02-11 16:16:37 -05:00
efuse.c rtlwifi: Move 2 large arrays off stack 2011-05-10 15:54:46 -04:00
efuse.h rtlwifi: Change efuse routines addition of RTL8192SE and RTL8192DE 2011-04-26 16:13:31 -04:00
pci.c rtlwifi: Fix kernel panic resulting from RX buffer allocation failure 2011-05-26 15:43:29 -04:00
pci.h rtlwifi: Convert pci routines for addition of rtl8192se and rtl8192de 2011-04-26 16:13:32 -04:00
ps.c rtlwifi: rtl8192c-common: rtl8192ce: Fix for HT40 regression 2011-05-16 14:25:30 -04:00
ps.h rtlwifi: Convert ps routines for addition of rtl8192se and rtl8192de 2011-04-26 16:13:32 -04:00
rc.c rtlwifi: Convert rc routines for addition of rtl8192se and rtl8192de 2011-04-26 16:13:32 -04:00
rc.h rtlwifi: Convert rc routines for addition of rtl8192se and rtl8192de 2011-04-26 16:13:32 -04:00
regd.c rtlwifi: Convert regulatory domain routines for addition of rtl8192se and rtl8192de 2011-04-26 16:13:32 -04:00
regd.h rtlwifi: Convert regulatory domain routines for addition of rtl8192se and rtl8192de 2011-04-26 16:13:32 -04:00
usb.c rtlwifi: Convert usb routines for addition of rtl8192se and rtl8192de 2011-04-26 16:13:32 -04:00
usb.h rtlwifi: Change base routines for addition of rtl8192se and rtl8192de 2011-04-26 16:13:31 -04:00
wifi.h rtlwifi: rtl8192ce: rtl8192cu: Fix most sparse warnings 2011-04-26 16:14:55 -04:00