diff options
author | Eliad Peller <eliad@wizery.com> | 2011-09-25 19:06:54 +0200 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-09-27 20:34:11 +0200 |
commit | f6f3def323e5d60cc2a5659533dce547c0aac5fc (patch) | |
tree | 9e5470eb3301c588f3ec75cc3f0ce504b50d77d5 /net/mac80211/util.c | |
parent | cfg80211/mac80211: add netdev param to set_txq_params() (diff) | |
download | linux-f6f3def323e5d60cc2a5659533dce547c0aac5fc.tar.xz linux-f6f3def323e5d60cc2a5659533dce547c0aac5fc.zip |
mac80211: save tx params per sdata
save and configure tx param per sdata, rather than
per hardware.
Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/util.c')
-rw-r--r-- | net/mac80211/util.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/net/mac80211/util.c b/net/mac80211/util.c index ead345db7127..2c9dc360dc6d 100644 --- a/net/mac80211/util.c +++ b/net/mac80211/util.c @@ -632,8 +632,8 @@ void ieee80211_set_wmm_default(struct ieee80211_sub_if_data *sdata) qparam.uapsd = false; - local->tx_conf[queue] = qparam; - drv_conf_tx(local, queue, &qparam); + sdata->tx_conf[queue] = qparam; + drv_conf_tx(local, sdata, queue, &qparam); } /* after reinitialize QoS TX queues setting to default, @@ -1044,8 +1044,15 @@ int ieee80211_reconfig(struct ieee80211_local *local) mutex_unlock(&local->sta_mtx); /* reconfigure tx conf */ - for (i = 0; i < hw->queues; i++) - drv_conf_tx(local, i, &local->tx_conf[i]); + list_for_each_entry(sdata, &local->interfaces, list) { + if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN || + sdata->vif.type == NL80211_IFTYPE_MONITOR || + !ieee80211_sdata_running(sdata)) + continue; + + for (i = 0; i < hw->queues; i++) + drv_conf_tx(local, sdata, i, &sdata->tx_conf[i]); + } /* reconfigure hardware */ ieee80211_hw_config(local, ~0); |