summaryrefslogtreecommitdiffstats
path: root/net/mac80211/key.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2016-12-13 09:39:18 +0100
committerJohannes Berg <johannes.berg@intel.com>2016-12-13 15:57:59 +0100
commitec4efc4a10c3b9a3ab4cf37dc3719fd3c4632cd0 (patch)
treed3529c52e7a92048e990120c318e512521004926 /net/mac80211/key.c
parent8fa3b6f9392bf6d90cb7b908e07bd90166639f0a (diff)
downloadlinux-ec4efc4a10c3b9a3ab4cf37dc3719fd3c4632cd0.tar.gz
linux-ec4efc4a10c3b9a3ab4cf37dc3719fd3c4632cd0.tar.bz2
linux-ec4efc4a10c3b9a3ab4cf37dc3719fd3c4632cd0.zip
mac80211: don't call drv_set_default_unicast_key() for VLANs
Since drivers know nothing about AP_VLAN interfaces, trying to call drv_set_default_unicast_key() just results in a warning and no call to the driver. Avoid the warning by not calling the driver for this on AP_VLAN interfaces. This means that drivers that somehow need this call for AP mode will fail to work properly in the presence of VLAN interfaces, but the current drivers don't seem to use it, and mac80211 will select and indicate the key - so drivers should be OK now. Reported-by: Jouni Malinen <j@w1.fi> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/key.c')
-rw-r--r--net/mac80211/key.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/mac80211/key.c b/net/mac80211/key.c
index edd6f2945f69..a98fc2b5e0dc 100644
--- a/net/mac80211/key.c
+++ b/net/mac80211/key.c
@@ -265,7 +265,8 @@ static void __ieee80211_set_default_key(struct ieee80211_sub_if_data *sdata,
if (uni) {
rcu_assign_pointer(sdata->default_unicast_key, key);
ieee80211_check_fast_xmit_iface(sdata);
- drv_set_default_unicast_key(sdata->local, sdata, idx);
+ if (sdata->vif.type != NL80211_IFTYPE_AP_VLAN)
+ drv_set_default_unicast_key(sdata->local, sdata, idx);
}
if (multi)