aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/iface.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2013-05-23 17:09:56 -0400
committerJohannes Berg <johannes.berg@intel.com>2013-05-23 17:11:33 -0400
commit5f38a11274f0e74ec0e499bc779d355510b39790 (patch)
tree81733ccf910470d439686f69f0210076a5baf8b3 /net/mac80211/iface.c
parente3ee68b7b049c5bbfcb78a179c00c373a38ed58c (diff)
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/iface.c')
-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)
474 master->control_port_protocol; 474 master->control_port_protocol;
475 sdata->control_port_no_encrypt = 475 sdata->control_port_no_encrypt =
476 master->control_port_no_encrypt; 476 master->control_port_no_encrypt;
477 sdata->vif.cab_queue = master->vif.cab_queue;
478 memcpy(sdata->vif.hw_queue, master->vif.hw_queue,
479 sizeof(sdata->vif.hw_queue));
477 break; 480 break;
478 } 481 }
479 case NL80211_IFTYPE_AP: 482 case NL80211_IFTYPE_AP: