ath9k: Ensure a fair beacon distribution in IBSS mode
authorVivek Natarajan <nataraja@qca.qualcomm.com>
Tue, 29 May 2012 10:29:55 +0000 (15:59 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 6 Jun 2012 19:19:00 +0000 (15:19 -0400)
Configure CWmin based on slot time for IBSS mode. This helps
in increasing the beacon distribution of ath9k to accepted
levels in 11a mode.

Signed-off-by: Vivek Natarajan <nataraja@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/beacon.c

index 11bc55e3d69759088e34433ce19c74ee9ef9e5b1..70b802529123ba0e81b82ddcef46605e1b8189b5 100644 (file)
@@ -48,7 +48,10 @@ int ath_beaconq_config(struct ath_softc *sc)
                txq = sc->tx.txq_map[WME_AC_BE];
                ath9k_hw_get_txq_props(ah, txq->axq_qnum, &qi_be);
                qi.tqi_aifs = qi_be.tqi_aifs;
-               qi.tqi_cwmin = 4*qi_be.tqi_cwmin;
+               if (ah->slottime == ATH9K_SLOT_TIME_20)
+                       qi.tqi_cwmin = 2*qi_be.tqi_cwmin;
+               else
+                       qi.tqi_cwmin = 4*qi_be.tqi_cwmin;
                qi.tqi_cwmax = qi_be.tqi_cwmax;
        }