linux/drivers/net/wireless/ath/ath5k
Bruno Randolf b5eae9ff5b ath5k: consistently use rx_bufsize for RX DMA
We should use the same buffer size we set up for DMA also in the hardware
descriptor. Previously we used common->rx_bufsize for setting up the DMA
mapping, but used skb_tailroom(skb) for the size we tell to the hardware in the
descriptor itself. The problem is that skb_tailroom(skb) can give us a larger
value than the size we set up for DMA before. This allows the hardware to write
into memory locations not set up for DMA. In practice this should rarely happen
because all packets should be smaller than the maximum 802.11 packet size.

On the tested platform rx_bufsize is 2528, and we allocated an skb of 2559
bytes length (including padding for cache alignment) but sbk_tailroom() was
2592. Just consistently use rx_bufsize for all RX DMA memory sizes.

Also use the return value of the descriptor setup function.

Cc: stable@kernel.org
Signed-off-by: Bruno Randolf <br1@einfach.org>
Reviewed-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-05-24 14:59:23 -04:00
..
ani.c ath5k: several off by one range checks 2010-05-10 14:56:47 -04:00
ani.h ath5k: Adaptive Noise Immunity (ANI) Implementation 2010-04-07 14:37:53 -04:00
ath5k.h ath5k: Adaptive Noise Immunity (ANI) Implementation 2010-04-07 14:37:53 -04:00
attach.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem 2010-04-15 16:21:34 -04:00
base.c ath5k: consistently use rx_bufsize for RX DMA 2010-05-24 14:59:23 -04:00
base.h ath5k: treat RXORN as non-fatal 2010-04-14 14:52:42 -04:00
caps.c ath5k: add capability flag for phyerror counters 2010-03-31 14:39:10 -04:00
debug.c ath5k: Adaptive Noise Immunity (ANI) Implementation 2010-04-07 14:37:53 -04:00
debug.h ath5k: Adaptive Noise Immunity (ANI) Implementation 2010-04-07 14:37:53 -04:00
desc.c ath5k: Adaptive Noise Immunity (ANI) Implementation 2010-04-07 14:37:53 -04:00
desc.h ath5k: update phy errors codes 2010-03-31 14:39:10 -04:00
dma.c
eeprom.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-04-11 14:53:53 -07:00
eeprom.h ath5k: Minor EEPROM documentation updates 2010-03-10 17:44:42 -05:00
gpio.c
initvals.c
Kconfig
led.c
Makefile ath5k: Adaptive Noise Immunity (ANI) Implementation 2010-04-07 14:37:53 -04:00
pcu.c ath5k/ath9k: Fix 64 bits TSF reads 2010-04-16 15:46:54 -04:00
phy.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
qcu.c ath5k: remove some dead functions 2010-03-15 15:31:43 -04:00
reg.h ath5k: Use high bitrates for ACK/CTS 2010-04-14 14:52:41 -04:00
reset.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
rfbuffer.h
rfgain.h
rfkill.c