ath9k/ath9k_htc: fix txop limit handling
authorFelix Fietkau <nbd@openwrt.org>
Sun, 15 Jul 2012 17:53:34 +0000 (19:53 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 17 Jul 2012 19:11:35 +0000 (15:11 -0400)
In all those years apparently nobody noticed that the txop limit programmed
into the chip was off by a factor of 32 (!), probably because the VI and VO
queues aren't used that much aside from mgmt frames on VO.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/htc_drv_main.c
drivers/net/wireless/ath/ath9k/main.c

index 374c32ed905ad95407368c13f340e7ef79d7cff7..fe2bfff6cde7587f13acd030687bac992376e394 100644 (file)
@@ -1351,7 +1351,7 @@ static int ath9k_htc_conf_tx(struct ieee80211_hw *hw,
        qi.tqi_aifs = params->aifs;
        qi.tqi_cwmin = params->cw_min;
        qi.tqi_cwmax = params->cw_max;
-       qi.tqi_burstTime = params->txop;
+       qi.tqi_burstTime = params->txop * 32;
 
        qnum = get_hw_qnum(queue, priv->hwq_map);
 
index cb9a8c9ab4415a1c5c20154af6c8f5a40b4fb770..d74b4b660ca8638a44c598734f0475e50c867d8e 100644 (file)
@@ -1388,7 +1388,7 @@ static int ath9k_conf_tx(struct ieee80211_hw *hw,
        qi.tqi_aifs = params->aifs;
        qi.tqi_cwmin = params->cw_min;
        qi.tqi_cwmax = params->cw_max;
-       qi.tqi_burstTime = params->txop;
+       qi.tqi_burstTime = params->txop * 32;
 
        ath_dbg(common, CONFIG,
                "Configure tx [queue/halq] [%d/%d], aifs: %d, cw_min: %d, cw_max: %d, txop: %d\n",