diff options
author | Johannes Berg <johannes.berg@intel.com> | 2013-05-23 23:09:56 +0200 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-05-23 23:11:33 +0200 |
commit | 5f38a11274f0e74ec0e499bc779d355510b39790 (patch) | |
tree | 81733ccf910470d439686f69f0210076a5baf8b3 /net | |
parent | e3ee68b7b049c5bbfcb78a179c00c373a38ed58c (diff) | |
download | linux-stable-5f38a11274f0e74ec0e499bc779d355510b39790.tar.gz linux-stable-5f38a11274f0e74ec0e499bc779d355510b39790.tar.bz2 linux-stable-5f38a11274f0e74ec0e499bc779d355510b39790.zip |
mac80211: assign AP_VLAN hw queues correctly
A lot of code in mac80211 assumes that the hw queues are
set up correctly for all interfaces (except for monitor)
but this isn't true for AP_VLAN interfaces. Fix this by
copying the AP master configuration when an AP VLAN is
brought up, after this the AP interface can't change its
configuration any more and needs to be brought down to
change it, which also forces AP_VLAN interfaces down, so
just copying in open() is sufficient.
Reported-by: Jouni Malinen <j@w1.fi>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/mac80211/iface.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c index 68f51c3af49f..00e2238355f0 100644 --- a/net/mac80211/iface.c +++ b/net/mac80211/iface.c @@ -474,6 +474,9 @@ int ieee80211_do_open(struct wireless_dev *wdev, bool coming_up) master->control_port_protocol; sdata->control_port_no_encrypt = master->control_port_no_encrypt; + sdata->vif.cab_queue = master->vif.cab_queue; + memcpy(sdata->vif.hw_queue, master->vif.hw_queue, + sizeof(sdata->vif.hw_queue)); break; } case NL80211_IFTYPE_AP: |