summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2013-05-23 23:09:56 +0200
committerJohannes Berg <johannes.berg@intel.com>2013-05-23 23:11:33 +0200
commit5f38a11274f0e74ec0e499bc779d355510b39790 (patch)
tree81733ccf910470d439686f69f0210076a5baf8b3 /net
parente3ee68b7b049c5bbfcb78a179c00c373a38ed58c (diff)
downloadlinux-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.c3
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: