summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorJouni Malinen2008-12-05 19:43:27 +0100
committerJohn W. Linville2008-12-12 19:48:23 +0100
commit6b3aa6ab787fe545c58554b7ce5c94de53526b83 (patch)
treefcf3966e6a31fa9e19ed643173e9d44982a10953 /drivers
parentath9k: Free Beacon skbs in AP mode (diff)
downloadkernel-qcow2-linux-6b3aa6ab787fe545c58554b7ce5c94de53526b83.tar.gz
kernel-qcow2-linux-6b3aa6ab787fe545c58554b7ce5c94de53526b83.tar.xz
kernel-qcow2-linux-6b3aa6ab787fe545c58554b7ce5c94de53526b83.zip
ath9k: Disable staggered Beacon frame scheduling
It looks like there are some issues in the current ath9k version as far as staggered Beacon frame scheduling is concerned. This results in Beacon frame timestamp being off by 25 milliseconds or so which can cause issues with multicast power save buffering in AP mode. Some client stations fail to receive multicast frames when there is this large an offset between TBTT and actual Beacon transmission time. Since ath9k does not yet support multiple BSSes anyway, the staggered Beacon frame scheduling is just increasing the number of interrupts at this point. The easiest fix for the timestamp offset is to disable staggered Beacon frames for now. We need to redesign beacon.c anyway when adding multi-BSS support with mac80211 since the existing code depends on different mechanism for Beacon frame transmission. Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/ath9k/core.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath9k/core.h b/drivers/net/wireless/ath9k/core.h
index a500d1770534..ca8ed7dcd7bc 100644
--- a/drivers/net/wireless/ath9k/core.h
+++ b/drivers/net/wireless/ath9k/core.h
@@ -489,7 +489,7 @@ struct ath_vap {
* number of beacon intervals, the game's up.
*/
#define BSTUCK_THRESH (9 * ATH_BCBUF)
-#define ATH_BCBUF 4
+#define ATH_BCBUF 1
#define ATH_DEFAULT_BINTVAL 100 /* TU */
#define ATH_DEFAULT_BMISS_LIMIT 10
#define IEEE80211_MS_TO_TU(x) (((x) * 1000) / 1024)