summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/common.h
diff options
context:
space:
mode:
authorLuis R. Rodriguez <lrodriguez@atheros.com>2009-11-24 02:53:25 -0500
committerJohn W. Linville <linville@tuxdriver.com>2009-11-28 15:04:49 -0500
commite7824a50662f7f79b1a739f705b4d906c31cf221 (patch)
tree20f92622698f9f07524db55691e0322b298031db /drivers/net/wireless/ath/ath9k/common.h
parent6b65b6ad016f048547127946d1afe4ba41c74296 (diff)
downloadlinux-stable-e7824a50662f7f79b1a739f705b4d906c31cf221.tar.gz
linux-stable-e7824a50662f7f79b1a739f705b4d906c31cf221.tar.bz2
linux-stable-e7824a50662f7f79b1a739f705b4d906c31cf221.zip
ath9k: fix processing of TX PS null data frames
When mac80211 was telling us to go into Powersave we listened and immediately turned RX off. This meant hardware would not see the ACKs from the AP we're associated with and hardware we'd end up retransmiting the null data frame in a loop helplessly. Fix this by keeping track of the transmitted nullfunc frames and only when we are sure the AP has sent back an ACK do we go ahead and shut RX off. Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: Vivek Natarajan <Vivek.Natarajan@atheros.com> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/common.h')
-rw-r--r--drivers/net/wireless/ath/ath9k/common.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/common.h b/drivers/net/wireless/ath/ath9k/common.h
index 4e1176029356..b230bb15279e 100644
--- a/drivers/net/wireless/ath/ath9k/common.h
+++ b/drivers/net/wireless/ath/ath9k/common.h
@@ -78,6 +78,7 @@ struct ath_buf {
dma_addr_t bf_daddr; /* physical addr of desc */
dma_addr_t bf_buf_addr; /* physical addr of data buffer */
bool bf_stale;
+ bool bf_isnullfunc;
u16 bf_flags;
struct ath_buf_state bf_state;
dma_addr_t bf_dmacontext;