summaryrefslogtreecommitdiff
path: root/net/mac80211/util.c
diff options
context:
space:
mode:
authorStanislaw Gruszka <sgruszka@redhat.com>2010-03-29 14:18:34 +0400
committerJohn W. Linville <linville@tuxdriver.com>2010-03-31 22:43:59 +0400
commite1b3ec1a2a336c328c336cfa5485a5f0484cc90d (patch)
tree9a71f61f773231fd439220bec60977f45e1ef65f /net/mac80211/util.c
parentecdf94b81237d272b1514b76f27a5d22782bcaa6 (diff)
downloadlinux-e1b3ec1a2a336c328c336cfa5485a5f0484cc90d.tar.xz
mac80211: explicitly disable/enable QoS
Add interface to disable/enable QoS (aka WMM or WME). Currently drivers enable it explicitly when ->conf_tx method is called, and newer disable. Disabling is needed for some APs, which do not support QoS, such we should send QoS frames to them. Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/util.c')
-rw-r--r--net/mac80211/util.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/net/mac80211/util.c b/net/mac80211/util.c
index c453226f06b2..7b2c170af71c 100644
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
@@ -796,6 +796,11 @@ void ieee80211_set_wmm_default(struct ieee80211_sub_if_data *sdata)
drv_conf_tx(local, queue, &qparam);
}
+
+ /* after reinitialize QoS TX queues setting to default,
+ * disable QoS at all */
+ local->hw.conf.flags &= ~IEEE80211_CONF_QOS;
+ drv_config(local, IEEE80211_CONF_CHANGE_QOS);
}
void ieee80211_sta_def_wmm_params(struct ieee80211_sub_if_data *sdata,