summaryrefslogtreecommitdiffstats
path: root/net/mac80211
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2008-09-11 05:27:40 +0200
committerJohn W. Linville <linville@tuxdriver.com>2008-09-15 16:48:24 -0400
commit3061307013267c2c75efae3925f461858d832101 (patch)
tree613e4b49df18d7d26137367623f19fef5f38388e /net/mac80211
parentff550cb4f8ef03f7cb0b4948e503388bcfb96034 (diff)
downloadlinux-3061307013267c2c75efae3925f461858d832101.tar.gz
linux-3061307013267c2c75efae3925f461858d832101.tar.bz2
linux-3061307013267c2c75efae3925f461858d832101.zip
mac80211: pass AP vif pointer for VLANs
We cannot pass a VLAN vif pointer to the driver since those are entirely virtual and we never tell the driver. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211')
-rw-r--r--net/mac80211/tx.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index 7468495d6f9c..698c8233e6b3 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -1351,6 +1351,10 @@ int ieee80211_master_start_xmit(struct sk_buff *skb,
return 0;
}
+ if (osdata->vif.type == NL80211_IFTYPE_AP_VLAN)
+ osdata = container_of(osdata->bss,
+ struct ieee80211_sub_if_data,
+ u.ap);
info->control.vif = &osdata->vif;
ret = ieee80211_tx(odev, skb);
dev_put(odev);