summaryrefslogtreecommitdiffstats
path: root/net/mac80211
diff options
context:
space:
mode:
authorMarkus Theil <markus.theil@tu-ilmenau.de>2020-02-07 12:58:57 +0100
committerJohannes Berg <johannes.berg@intel.com>2020-02-07 12:59:40 +0100
commit9b125c27998719288e4dcf2faf54511039526692 (patch)
treecd6847286df2a533d808094ce1051fc7fc4602e2 /net/mac80211
parent8c3ed7aa2b9ef666195b789e9b02e28383243fa8 (diff)
downloadlinux-9b125c27998719288e4dcf2faf54511039526692.tar.gz
linux-9b125c27998719288e4dcf2faf54511039526692.tar.bz2
linux-9b125c27998719288e4dcf2faf54511039526692.zip
mac80211: support NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_MAC_ADDRS
This is now a trivial patch, but for seeing the actual changes I (Johannes) split it out from the original. Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de> Link: https://lore.kernel.org/r/20200115125522.3755-1-markus.theil@tu-ilmenau.de [split into separate cfg80211/mac80211 patches] Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211')
-rw-r--r--net/mac80211/main.c2
-rw-r--r--net/mac80211/tx.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/net/mac80211/main.c b/net/mac80211/main.c
index 9dd3c9e3731f..265a31a8104d 100644
--- a/net/mac80211/main.c
+++ b/net/mac80211/main.c
@@ -587,6 +587,8 @@ struct ieee80211_hw *ieee80211_alloc_hw_nm(size_t priv_data_len,
wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_FILS_STA);
wiphy_ext_feature_set(wiphy,
NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211);
+ wiphy_ext_feature_set(wiphy,
+ NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_MAC_ADDRS);
if (!ops->hw_scan) {
wiphy->features |= NL80211_FEATURE_LOW_PRIORITY_SCAN |
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index 059c66b6bb5c..a447d258fea3 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -5317,7 +5317,7 @@ int ieee80211_tx_control_port(struct wiphy *wiphy, struct net_device *dev,
ehdr = skb_push(skb, sizeof(struct ethhdr));
memcpy(ehdr->h_dest, dest, ETH_ALEN);
- memcpy(ehdr->h_source, sdata->vif.addr, ETH_ALEN);
+ memcpy(ehdr->h_source, src, ETH_ALEN);
ehdr->h_proto = proto;
skb->dev = dev;