linux/drivers
Reinette Chatre de0bd50845 iwlwifi: fix potential rx buffer loss
RX handling maintains a few lists that keep track of the RX buffers.
Buffers move from one list to the other as they are used, replenished, and
again made available for usage. In one such instance, when a buffer is used
it enters the "rx_used" list. When buffers are replenished an skb is
attached to the buffer and it is moved to the "rx_free" list. The problem
here is that the buffer is first removed from the "rx_used" list _before_ the
skb is allocated. Thus, if the skb allocation fails this buffer remains
removed from the "rx_used" list and is thus lost for future usage.

Fix this by first allocating the skb before trying to attach it to a list.
We add an additional check to not do this unnecessarily.

Reported-by: Rick Farrington <rickdic@hotmail.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-09-23 11:35:40 -04:00
..
accessibility
acpi dmi: extend dmi_get_year() to dmi_get_date() 2009-09-08 21:17:48 -04:00
amba
ata pata_rz1000: use printk_once 2009-09-11 02:33:59 -04:00
atm
auxdisplay
base
block writeback: add name to backing_dev_info 2009-09-11 09:20:26 +02:00
bluetooth Bluetooth: Add USB autosuspend support to btusb driver 2009-08-24 16:31:24 -07:00
cdrom
char Merge branch 'osync_cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6 2009-09-14 14:36:47 -07:00
clocksource sh: CMT suspend/resume 2009-08-15 12:58:45 +09:00
connector
cpufreq [CPUFREQ] Re-enable cpufreq suspend and resume code 2009-09-01 12:45:08 -04:00
cpuidle
crypto
dca
dio
dma
edac
eisa
firewire Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 2009-09-14 10:37:28 -07:00
firmware dmi: extend dmi_get_year() to dmi_get_date() 2009-09-08 21:17:48 -04:00
gpio
gpu i915: disable interrupts before tearing down GEM state 2009-09-08 17:09:24 -07:00
hid
hwmon
i2c i2c-stu300: I2C STU300 stability updates 2009-08-20 22:27:58 +01:00
ide Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev 2009-09-11 16:38:33 -07:00
idle
ieee1394 drivers: Kill now superfluous ->last_rx stores 2009-09-02 23:07:36 -07:00
ieee802154 netdev: convert bulk of drivers to netdev_tx_t 2009-09-01 01:14:07 -07:00
infiniband Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 2009-09-14 10:37:28 -07:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2009-09-05 13:41:29 -07:00
isdn isdn: convert to netdev_tx_t 2009-09-01 01:13:16 -07:00
leds leds: after setting inverted attribute, we must update the LED 2009-08-26 20:06:53 -07:00
lguest
macintosh m68k: count can reach 51, not 50 2009-08-26 23:14:49 +02:00
mca
md md: Fix "strchr" [drivers/md/dm-log-userspace.ko] undefined! 2009-09-10 14:55:01 -07:00
media Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 2009-09-14 10:37:28 -07:00
memstick
message
mfd
misc drivers: Kill now superfluous ->last_rx stores 2009-09-02 23:07:36 -07:00
mmc
mtd mtd: nftl: fix offset alignments 2009-09-03 14:59:16 +01:00
net iwlwifi: fix potential rx buffer loss 2009-09-23 11:35:40 -04:00
nubus
of
oprofile
parisc
parport
pci Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev 2009-09-11 16:38:33 -07:00
pcmcia
platform toshiba_acpi: return on a fail path 2009-08-28 15:17:07 -04:00
pnp
power
pps pps: fix incorrect verdict check 2009-08-26 20:06:52 -07:00
ps3
rapidio
regulator
rtc
s390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 2009-09-14 10:37:28 -07:00
sbus
scsi RDMA/cxgb3: Handle port events properly 2009-09-05 20:22:38 -07:00
serial ARM: S3C64XX: serial: Fix a typo in Kconfig 2009-08-14 00:43:46 +01:00
sh
sn
spi spi_s3c24xx: fix transfer setup code 2009-08-18 16:31:13 -07:00
ssb ssb: Disable verbose SDIO coreswitch 2009-09-23 11:35:40 -04:00
staging Merge branch 'osync_cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6 2009-09-14 14:36:47 -07:00
tc
telephony
thermal thermal_sys: check get_temp return value 2009-08-26 20:06:52 -07:00
uio
usb netdev: drivers should make ethtool_ops const 2009-09-02 01:03:33 -07:00
uwb uwb: convert to netdev_tx_t 2009-09-01 01:13:44 -07:00
video Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 2009-09-14 10:37:28 -07:00
virtio
vlynq
w1
watchdog [WATCHDOG] ar7_wdt: fix path to ar7-specific headers 2009-08-15 13:05:01 +00:00
xen xen: make -fstack-protector work under Xen 2009-09-09 16:37:39 -07:00
zorro
Kconfig
Makefile