linux/drivers/net/wireless
Reinette Chatre 0aae511c0b 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-14 14:36:04 -04:00
..
ath ath9k: Fix bug in ANI channel handling 2009-09-14 14:36:03 -04:00
b43 b43: Fix resume failure 2009-09-14 14:36:04 -04:00
b43legacy b44/b43/b43legacy: Fix switch warnings introduced by SSB-SDIO 2009-09-09 11:19:03 -04:00
hostap hostap: Revert a toxic part of the conversion to net_device_ops 2009-09-14 14:36:03 -04:00
ipw2x00 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 2009-09-02 14:18:09 -07:00
iwlwifi iwlwifi: fix potential rx buffer loss 2009-09-14 14:36:04 -04:00
iwmc3200wifi iwmc3200wifi: Add a last_fw_err debugfs entry 2009-09-01 12:48:28 -04:00
libertas netdev: drivers should make ethtool_ops const 2009-09-02 01:03:33 -07:00
libertas_tf mac80211: allow configure_filter callback to sleep 2009-08-20 11:35:58 -04:00
orinoco Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-09-02 00:32:56 -07:00
p54 p54: fix broadcast buffering in AP mode 2009-08-28 14:40:23 -04:00
prism54 wireless: convert drivers to netdev_tx_t 2009-09-01 01:14:04 -07:00
rt2x00 rt2x00: Hardcode TX ack timeout and consume time 2009-09-09 11:18:14 -04:00
rtl818x Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-09-02 00:32:56 -07:00
wl12xx wl1271: remove print_mac usage 2009-08-20 11:36:03 -04:00
zd1211rw mac80211: allow configure_filter callback to sleep 2009-08-20 11:35:58 -04:00
adm8211.c mac80211: allow configure_filter callback to sleep 2009-08-20 11:35:58 -04:00
adm8211.h
airo.c wireless: convert drivers to netdev_tx_t 2009-09-01 01:14:04 -07:00
airo.h
airo_cs.c
arlan-main.c wireless: convert drivers to netdev_tx_t 2009-09-01 01:14:04 -07:00
arlan-proc.c
arlan.h
at76c50x-usb.c mac80211: remove deprecated API 2009-08-20 11:35:58 -04:00
at76c50x-usb.h
atmel.c wireless: convert drivers to netdev_tx_t 2009-09-01 01:14:04 -07:00
atmel.h
atmel_cs.c
atmel_pci.c
i82586.h
i82593.h
Kconfig wireless: default CONFIG_WLAN to y 2009-09-14 14:36:04 -04:00
mac80211_hwsim.c wireless: convert drivers to netdev_tx_t 2009-09-01 01:14:04 -07:00
Makefile
mwl8k.c mwl8k: separate driver and device info reporting during probe 2009-08-28 14:40:42 -04:00
netwave_cs.c wireless: convert drivers to netdev_tx_t 2009-09-01 01:14:04 -07:00
ray_cs.c wireless: convert drivers to netdev_tx_t 2009-09-01 01:14:04 -07:00
ray_cs.h
rayctl.h
rndis_wlan.c rndis_wlan: fix sparse endianess warnings 2009-09-01 12:48:22 -04:00
strip.c wireless: convert drivers to netdev_tx_t 2009-09-01 01:14:04 -07:00
wavelan.c wireless: convert drivers to netdev_tx_t 2009-09-01 01:14:04 -07:00
wavelan.h
wavelan.p.h wireless: convert drivers to netdev_tx_t 2009-09-01 01:14:04 -07:00
wavelan_cs.c wireless: convert drivers to netdev_tx_t 2009-09-01 01:14:04 -07:00
wavelan_cs.h
wavelan_cs.p.h wireless: convert drivers to netdev_tx_t 2009-09-01 01:14:04 -07:00
wl3501.h
wl3501_cs.c wireless: convert drivers to netdev_tx_t 2009-09-01 01:14:04 -07:00
zd1201.c wireless: convert drivers to netdev_tx_t 2009-09-01 01:14:04 -07:00
zd1201.h