summaryrefslogtreecommitdiffstats
path: root/net/mac80211/cfg.c
diff options
context:
space:
mode:
authorEliad Peller <eliad@wizery.com>2011-07-14 20:29:42 +0300
committerJohn W. Linville <linville@tuxdriver.com>2011-07-18 14:29:03 -0400
commit2683d65bb016a0533c25ead3025cbd24886cf35f (patch)
treeeb6f37fae2711030aeddc31c9482b36de85d0be0 /net/mac80211/cfg.c
parentb3c2ce131c7cd8c53b72b0cc04241cde17ce0c1d (diff)
downloadlinux-2683d65bb016a0533c25ead3025cbd24886cf35f.tar.bz2
mac80211: reconfigure tx on device reconfiguration
Add tx_conf array to save the current tx queues configuration, and reconfig it on resume (ieee80211_reconfig). On resume, the driver is being reconfigured. Without reconfiguring the tx queues as well, the driver might configure the device to use wrong ac params (e.g. ps-poll instead of uapsd). Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/cfg.c')
-rw-r--r--net/mac80211/cfg.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
index bfc36e904764..3d1b091d9b2e 100644
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -1255,6 +1255,10 @@ static int ieee80211_set_txq_params(struct wiphy *wiphy,
*/
p.uapsd = false;
+ if (params->queue >= local->hw.queues)
+ return -EINVAL;
+
+ local->tx_conf[params->queue] = p;
if (drv_conf_tx(local, params->queue, &p)) {
wiphy_debug(local->hw.wiphy,
"failed to set TX queue parameters for queue %d\n",