linux/drivers/net/wireless/ath/ath9k
Felix Fietkau 723e711356 ath9k: fix handling of broken descriptors
As the comment in ath_get_next_rx_buf indicates, if a descriptor with
the done bit set follows one with the done bit cleared, both descriptors
should be discarded, however the driver is not doing that yet.

To fix this, use the rs->rs_more flag as an indicator that the following
frame should be discarded. This also helps with the split buffer case:
if the first part of the frame is discarded, the following parts need to
be discarded as well, since they contain no valid header or usable data.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2013-04-10 14:10:33 -04:00
..
ahb.c ath9k: use the devres API for allocations/mappings 2013-01-07 15:16:51 -05:00
ani.c ath9k_hw: remove a useless WARN_ON 2013-01-22 16:05:32 -05:00
ani.h ath9k_hw: reduce struct ar5416AniState size 2013-01-22 16:05:31 -05:00
antenna.c ath9k: Add a module parameter to enable diversity 2012-09-24 14:59:11 -04:00
ar955x_1p0_initvals.h ath9k_hw: Update initvals for QCA955x 2013-01-09 14:37:11 -05:00
ar5008_initvals.h ath9k: fix column header comments for some initval arrays 2013-01-07 15:16:53 -05:00
ar5008_phy.c ath9k_hw: make various ar5416/ar91xx rf banks const 2013-04-10 14:10:32 -04:00
ar9001_initvals.h ath9k: fix column header comments for some initval arrays 2013-01-07 15:16:53 -05:00
ar9002_calib.c Show actual timeout value in failed calibration messages. 2013-03-27 13:39:08 -04:00
ar9002_hw.c ath9k_hw: make various ar5416/ar91xx rf banks const 2013-04-10 14:10:32 -04:00
ar9002_initvals.h
ar9002_mac.c
ar9002_phy.c ath9k_hw: ar9002_hw_spectral_scan_config() can be static 2013-01-14 15:10:40 -05:00
ar9002_phy.h
ar9003_2p2_initvals.h ath9k_hw: add tx gain tables for newer devices 2013-01-11 14:50:00 -05:00
ar9003_calib.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless 2013-03-29 16:41:36 -04:00
ar9003_eeprom.c ath9k_hw: Fix fixed antenna for AR9462 2013-03-06 16:28:57 -05:00
ar9003_eeprom.h ath9k: ar9003: fix OTP register offsets for AR9340 2012-12-10 15:49:44 -05:00
ar9003_hw.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless 2013-01-28 13:54:03 -05:00
ar9003_mac.c ath9k_hw: Handle AR_INTR_SYNC_HOST1_(FATAL|PERR) on AR9003 2012-09-28 13:54:10 -04:00
ar9003_mac.h
ar9003_mci.c ath9k: Fix MCI reset in BT cal_req 2012-11-21 14:16:01 -05:00
ar9003_mci.h ath9k: Add new BT profile info A2DP_Voice 2012-10-29 15:19:30 -04:00
ar9003_paprd.c ath9k_hw: Calculate the correct training power for PAPRD 2012-12-10 15:49:51 -05:00
ar9003_phy.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless 2013-01-28 13:54:03 -05:00
ar9003_phy.h ath9k_hw: Add TempCompensation feature for AR9550 2013-01-09 14:37:11 -05:00
ar9003_rtt.c
ar9003_rtt.h
ar9330_1p1_initvals.h
ar9330_1p2_initvals.h
ar9340_initvals.h ath9k_hw: add tx gain tables for newer devices 2013-01-11 14:50:00 -05:00
ar9462_2p0_initvals.h ath9k_hw: Update initvals for AR9462 2013-03-06 16:28:56 -05:00
ar9485_initvals.h ath9k_hw: add tx gain tables for newer devices 2013-01-11 14:50:00 -05:00
ar9565_1p0_initvals.h ath9k_hw: Enable hw PLL power save for AR9565 2012-10-29 15:30:31 -04:00
ar9580_1p0_initvals.h ath9k_hw: add tx gain tables for newer devices 2013-01-11 14:50:00 -05:00
ath9k.h ath9k: fix handling of broken descriptors 2013-04-10 14:10:33 -04:00
beacon.c mac80211: Use a cfg80211_chan_def in ieee80211_hw_conf_chan 2013-03-25 19:19:35 +01:00
btcoex.c ath9k: stomp audio profiles on weak signal strength 2012-11-21 14:16:01 -05:00
btcoex.h ath9k: stomp audio profiles on weak signal strength 2012-11-21 14:16:01 -05:00
calib.c Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next 2013-04-10 14:09:54 -04:00
calib.h ath9k_hw: make various ar5416/ar91xx rf banks const 2013-04-10 14:10:32 -04:00
common.c ath9k_common: remove ath9k_cmn_padpos 2013-04-10 14:10:33 -04:00
common.h ath9k_common: remove ath9k_cmn_padpos 2013-04-10 14:10:33 -04:00
debug.c ath9k: trivial: change spectral relayfs buffering 2013-03-27 13:37:32 -04:00
debug.h ath9k: Report txerr-filtered errors in debugfs. 2013-03-06 16:29:01 -05:00
dfs_debug.c ath9k: add debugfs based DFS radar simulation 2013-04-08 15:28:38 -04:00
dfs_debug.h
dfs_pattern_detector.c wireless: Remove unnecessary alloc/OOM messages, alloc cleanups 2013-02-04 13:22:34 -05:00
dfs_pattern_detector.h ath9k: resolve name collision in DFS detector 2012-11-14 14:55:32 -05:00
dfs_pri_detector.c
dfs_pri_detector.h
dfs.c ath9k: add support for DFS master mode 2013-04-08 15:28:38 -04:00
dfs.h
eeprom_4k.c ath9k: use 'struct ath_hw *' as the first argument for 'ath9k_hw_nvram_read' 2012-12-10 15:49:56 -05:00
eeprom_9287.c ath9k: use 'struct ath_hw *' as the first argument for 'ath9k_hw_nvram_read' 2012-12-10 15:49:56 -05:00
eeprom_def.c ath9k: use 'struct ath_hw *' as the first argument for 'ath9k_hw_nvram_read' 2012-12-10 15:49:56 -05:00
eeprom.c ath9k: allow to load EEPROM content via firmware API 2012-12-10 15:49:57 -05:00
eeprom.h ath9k: use 'struct ath_hw *' as the first argument for 'ath9k_hw_nvram_read' 2012-12-10 15:49:56 -05:00
gpio.c ath9k/ath9k_htc: Remove WME macros 2012-11-21 14:16:02 -05:00
hif_usb.c ath9k_htc: Add PID/VID for a Ubiquiti WiFiStation 2012-10-24 13:18:08 -04:00
hif_usb.h wireless: ath9k-htc: only load firmware in need 2012-09-07 15:03:36 -04:00
htc_drv_beacon.c ath9k_common: remove ath9k_cmn_padpos 2013-04-10 14:10:33 -04:00
htc_drv_debug.c ath9k/ath9k_htc: Remove WME macros 2012-11-21 14:16:02 -05:00
htc_drv_gpio.c ath9k/ath9k_htc: Remove WME macros 2012-11-21 14:16:02 -05:00
htc_drv_init.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem 2013-01-28 14:43:00 -05:00
htc_drv_main.c ath9k_common: remove ath9k_cmn_padpos 2013-04-10 14:10:33 -04:00
htc_drv_txrx.c ath9k_common: remove ath9k_cmn_padpos 2013-04-10 14:10:33 -04:00
htc_hst.c ath9k_htc: Fix memory leak 2013-01-11 14:12:01 -05:00
htc_hst.h
htc.h ath9k_htc: fix signal strength handling issues 2013-02-27 14:12:51 -05:00
hw-ops.h ath9k_hw: use the devres API for allocations 2013-01-07 15:16:51 -05:00
hw.c Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next 2013-04-10 14:09:54 -04:00
hw.h ath9k_hw: make various ar5416/ar91xx rf banks const 2013-04-10 14:10:32 -04:00
init.c ath9k: add support for DFS master mode 2013-04-08 15:28:38 -04:00
Kconfig ath9k: Select RELAY for ATH9K_DEBUGFS 2013-02-01 14:27:23 -05:00
link.c Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next 2013-04-10 14:09:54 -04:00
mac.c ath9k: reorder error codes for spectral 2013-01-30 15:06:41 -05:00
mac.h ath9k: add spectral scan feature 2013-01-09 14:37:12 -05:00
main.c Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next 2013-04-10 14:09:54 -04:00
Makefile
mci.c ath9k: Remove unused variables in ath_mci_cleanup 2013-02-01 14:27:24 -05:00
mci.h ath9k: Add new BT profile info A2DP_Voice 2012-10-29 15:19:30 -04:00
pci.c ath9k: use the devres API for allocations/mappings 2013-01-07 15:16:51 -05:00
phy.h
rc.c mac80211: Use a cfg80211_chan_def in ieee80211_hw_conf_chan 2013-03-25 19:19:35 +01:00
rc.h ath9k: Fix rate control debugging 2012-11-21 14:16:04 -05:00
recv.c ath9k: fix handling of broken descriptors 2013-04-10 14:10:33 -04:00
reg.h ath9k_hw: add tx gain tables for newer devices 2013-01-11 14:50:00 -05:00
wmi.c
wmi.h
wow.c ath9k_hw: Configure new switch table for AR9565 BTCOEX 2012-10-29 15:19:30 -04:00
xmit.c ath9k_common: remove ath9k_cmn_padpos 2013-04-10 14:10:33 -04:00