[rt2x00-users] [RFC 1/3] rt2x00: configure tx queues for APs that do not support 802.11e
Stanislaw Gruszka
sgruszka at redhat.com
Wed Mar 28 23:02:29 EST 2012
Old APs, which do not support QOS, need to have old DCA rules
configured for each EDCA tx queue.
Patch configure 11g channel access rules for now, because it is not
trivial to check if we operate on 11b only mode.
Reported-by: Walter Goldens <goldenstranger at yahoo.com>
Signed-off-by: Stanislaw Gruszka <sgruszka at redhat.com>
---
drivers/net/wireless/rt2x00/rt2x00mac.c | 20 ++++++++++++++++++++
1 files changed, 20 insertions(+), 0 deletions(-)
diff --git a/drivers/net/wireless/rt2x00/rt2x00mac.c b/drivers/net/wireless/rt2x00/rt2x00mac.c
index 2df2eb6..f1b47d4 100644
--- a/drivers/net/wireless/rt2x00/rt2x00mac.c
+++ b/drivers/net/wireless/rt2x00/rt2x00mac.c
@@ -712,6 +712,26 @@ void rt2x00mac_bss_info_changed(struct ieee80211_hw *hw,
}
/*
+ * Check for access point which do not support 802.11e . We have to
+ * configure for such AP the same old 802.11g/802.11b channel access
+ * rules for each EDAC queue.
+ */
+ if (changes & BSS_CHANGED_QOS && !bss_conf->qos) {
+ const struct ieee80211_tx_queue_params params = {
+ .cw_min = 15, /* FIXME 31 for 11b */
+ .cw_max = 1023,
+ .txop = 0,
+ .aifs = 2,
+ .uapsd = false,
+ };
+
+ rt2x00dev->ops->hw->conf_tx(hw, NULL, 0, ¶ms);
+ rt2x00dev->ops->hw->conf_tx(hw, NULL, 1, ¶ms);
+ rt2x00dev->ops->hw->conf_tx(hw, NULL, 2, ¶ms);
+ rt2x00dev->ops->hw->conf_tx(hw, NULL, 3, ¶ms);
+ }
+
+ /*
* When the erp information has changed, we should perform
* additional configuration steps. For all other changes we are done.
*/
--
1.7.1
More information about the users
mailing list