aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k
diff options
context:
space:
mode:
authorRajkumar Manoharan <rmanoharan@atheros.com>2010-09-21 03:28:09 -0400
committerJohn W. Linville <linville@tuxdriver.com>2010-09-24 15:54:32 -0400
commit9cf13668a5f8165a81349defc5f82c57a4a8279b (patch)
treea04f7cec0ef9e0aa449c5906931313179c6e8a98 /drivers/net/wireless/ath/ath9k
parent9094537c3a9ef9e127e844254a74186735c9a90b (diff)
ath9k_htc: Fix beacon distribution in IBSS mode
This patch ensures fair beacon distribution in IBSS mode by configuring proper CWmin based on slot time. Signed-off-by: Rajkumar Manoharan <rmanoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k')
-rw-r--r--drivers/net/wireless/ath/ath9k/htc_drv_beacon.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_beacon.c b/drivers/net/wireless/ath/ath9k/htc_drv_beacon.c
index bd1506e69105..1b72aa482ac7 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_beacon.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_beacon.c
@@ -235,7 +235,14 @@ void ath9k_htc_beaconq_config(struct ath9k_htc_priv *priv)
235 ath9k_hw_get_txq_props(ah, qnum, &qi_be); 235 ath9k_hw_get_txq_props(ah, qnum, &qi_be);
236 236
237 qi.tqi_aifs = qi_be.tqi_aifs; 237 qi.tqi_aifs = qi_be.tqi_aifs;
238 qi.tqi_cwmin = 4*qi_be.tqi_cwmin; 238 /* For WIFI Beacon Distribution
239 * Long slot time : 2x cwmin
240 * Short slot time : 4x cwmin
241 */
242 if (ah->slottime == ATH9K_SLOT_TIME_20)
243 qi.tqi_cwmin = 2*qi_be.tqi_cwmin;
244 else
245 qi.tqi_cwmin = 4*qi_be.tqi_cwmin;
239 qi.tqi_cwmax = qi_be.tqi_cwmax; 246 qi.tqi_cwmax = qi_be.tqi_cwmax;
240 247
241 if (!ath9k_hw_set_txq_props(ah, priv->beaconq, &qi)) { 248 if (!ath9k_hw_set_txq_props(ah, priv->beaconq, &qi)) {