summaryrefslogtreecommitdiff
path: root/net/mac80211
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-27 11:26:47 +0200
commit1351c5d3b189a487fbacd5cdf2dc3e6faf12c682 (patch)
tree4a413eb44b2aa8e5eca43c0a37c393b2d89b976e /net/mac80211
parent4325d724cd91643c727ca4cb063e8bb19989950b (diff)
downloadlinux-3.10-1351c5d3b189a487fbacd5cdf2dc3e6faf12c682.tar.gz
linux-3.10-1351c5d3b189a487fbacd5cdf2dc3e6faf12c682.tar.bz2
linux-3.10-1351c5d3b189a487fbacd5cdf2dc3e6faf12c682.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/mac80211')
-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 68f51c3af49..00e2238355f 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: