linux_old1/drivers/net/wireless/rt2x00
Helmut Schaa 95192339c2 rt2x00: Fix race between dma mapping and clearing rx entries in rt2800pci
During rx, rt2x00lib calls rt2800pci_fill_rxdone to read the RX
descriptor. At that time the skb is already dma unmapped but no new skb
was dma mapped for this entry again. However, rt2800pci_fill_rxdone also
moves the hw rx queue index, marking this entry to be available for
reuse. Since no new skb was dma mapped and also the previous skb was
unmapped this might lead to strange hw behavior.

To fix this issue move the hw rx queue index increment to
rt2800pci_clear_entry where a new skb was already dma mapped and can be
safely used by the hw.

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-10-05 13:35:27 -04:00
..
Kconfig rt2x00: Enable RT30xx by default. 2010-05-04 13:24:23 -04:00
Makefile
rt2x00.h rt2x00: Implement HT protection for rt2800 2010-10-05 13:35:26 -04:00
rt2x00config.c rt2x00: Implement HT protection for rt2800 2010-10-05 13:35:26 -04:00
rt2x00crypto.c mac80211: use cipher suite selectors 2010-08-16 16:45:11 -04:00
rt2x00debug.c rt2x00: Split watchdog check into a DMA and STATUS timeout 2010-08-31 14:22:25 -04:00
rt2x00debug.h rt2x00: Update copyright statements. 2009-11-11 17:09:17 -05:00
rt2x00dev.c rt2x00: rework tx status handling in rt2800pci 2010-10-05 13:35:26 -04:00
rt2x00dump.h rt2x00: correct sparse warning in rt2x00debug.c 2010-07-20 16:49:41 -04:00
rt2x00firmware.c rt2x00: update fw version info in wiphy struct 2010-08-16 14:39:45 -04:00
rt2x00ht.c rt2x00: Fix SM PS check 2010-10-05 13:35:26 -04:00
rt2x00leds.c rt2x00: Update copyright statements. 2009-11-11 17:09:17 -05:00
rt2x00leds.h rt2x00: Update copyright statements. 2009-11-11 17:09:17 -05:00
rt2x00lib.h rt2x00: Check for specific changed flags when updating the erp config 2010-09-14 16:03:43 -04:00
rt2x00link.c rt2x00: Antenna diversity does not work in 2.6.35 2010-09-14 16:03:43 -04:00
rt2x00mac.c rt2x00: Implement HT protection for rt2800 2010-10-05 13:35:26 -04:00
rt2x00pci.c rt2x00: do not use PCI resources before pci_enable_device() 2010-08-04 15:28:37 -04:00
rt2x00pci.h rt2x00: Move common txdone handling to rt2x00lib_txdone. 2010-06-30 15:00:50 -04:00
rt2x00queue.c rt2x00: Split watchdog check into a DMA and STATUS timeout 2010-08-31 14:22:25 -04:00
rt2x00queue.h rt2x00: Split watchdog check into a DMA and STATUS timeout 2010-08-31 14:22:25 -04:00
rt2x00reg.h rt2x00: Add missing TSF sync mode for AP operation 2010-07-12 16:05:37 -04:00
rt2x00soc.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
rt2x00soc.h rt2x00: remove KSEG1ADDR define from rt2x00soc.h 2010-03-10 16:16:53 -05:00
rt2x00usb.c rt2x00: Cleanup rt2x00usb_watchdog_reset_tx 2010-08-31 14:22:25 -04:00
rt2x00usb.h rt2x00: Simplify arguments to rt2x00 driver callback functions 2010-08-25 14:34:54 -04:00
rt61pci.c rt2x00: fix oops in rt2x00lib_txdone with rt61pci 2010-09-14 16:03:44 -04:00
rt61pci.h drivers/net: use __packed annotation 2010-06-03 03:18:23 -07:00
rt73usb.c rt2x00: Check for specific changed flags when updating the erp config 2010-09-14 16:03:43 -04:00
rt73usb.h drivers/net: use __packed annotation 2010-06-03 03:18:23 -07:00
rt2400pci.c rt2x00: Check for specific changed flags when updating the erp config 2010-09-14 16:03:43 -04:00
rt2400pci.h Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 2010-02-25 23:26:21 -08:00
rt2500pci.c rt2x00: Check for specific changed flags when updating the erp config 2010-09-14 16:03:43 -04:00
rt2500pci.h Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 2010-02-25 23:26:21 -08:00
rt2500usb.c rt2x00: Check for specific changed flags when updating the erp config 2010-09-14 16:03:43 -04:00
rt2500usb.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-12-09 19:43:33 -08:00
rt2800.h rt2x00: Don't overwrite beacon buffers in pairwise key setup 2010-10-05 13:35:25 -04:00
rt2800lib.c rt2x00: Don't initialize MM40 HT protection to RTS/CTS on PCI devices 2010-10-05 13:35:26 -04:00
rt2800lib.h rt2x00: Split out parts of the rt2800_txdone function for easier reuse 2010-10-05 13:35:26 -04:00
rt2800pci.c rt2x00: Fix race between dma mapping and clearing rx entries in rt2800pci 2010-10-05 13:35:27 -04:00
rt2800pci.h rt2x00: Move all register definitions for rt2800 to rt2800.h. 2010-06-03 10:51:59 +02:00
rt2800usb.c rt2x00: Correctly kill beacon queue 2010-08-31 14:22:24 -04:00
rt2800usb.h rt2x00: Move all register definitions for rt2800 to rt2800.h. 2010-06-03 10:51:59 +02:00