aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/tx.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211/tx.c')
-rw-r--r--net/mac80211/tx.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index b65ff6536244..9e952e37b7df 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -17,6 +17,7 @@
17#include <linux/skbuff.h> 17#include <linux/skbuff.h>
18#include <linux/etherdevice.h> 18#include <linux/etherdevice.h>
19#include <linux/bitmap.h> 19#include <linux/bitmap.h>
20#include <net/net_namespace.h>
20#include <net/ieee80211_radiotap.h> 21#include <net/ieee80211_radiotap.h>
21#include <net/cfg80211.h> 22#include <net/cfg80211.h>
22#include <net/mac80211.h> 23#include <net/mac80211.h>
@@ -1018,7 +1019,7 @@ static int inline ieee80211_tx_prepare(struct ieee80211_txrx_data *tx,
1018 struct net_device *dev; 1019 struct net_device *dev;
1019 1020
1020 pkt_data = (struct ieee80211_tx_packet_data *)skb->cb; 1021 pkt_data = (struct ieee80211_tx_packet_data *)skb->cb;
1021 dev = dev_get_by_index(pkt_data->ifindex); 1022 dev = dev_get_by_index(&init_net, pkt_data->ifindex);
1022 if (unlikely(dev && !is_ieee80211_device(dev, mdev))) { 1023 if (unlikely(dev && !is_ieee80211_device(dev, mdev))) {
1023 dev_put(dev); 1024 dev_put(dev);
1024 dev = NULL; 1025 dev = NULL;
@@ -1226,7 +1227,7 @@ int ieee80211_master_start_xmit(struct sk_buff *skb,
1226 memset(&control, 0, sizeof(struct ieee80211_tx_control)); 1227 memset(&control, 0, sizeof(struct ieee80211_tx_control));
1227 1228
1228 if (pkt_data->ifindex) 1229 if (pkt_data->ifindex)
1229 odev = dev_get_by_index(pkt_data->ifindex); 1230 odev = dev_get_by_index(&init_net, pkt_data->ifindex);
1230 if (unlikely(odev && !is_ieee80211_device(odev, dev))) { 1231 if (unlikely(odev && !is_ieee80211_device(odev, dev))) {
1231 dev_put(odev); 1232 dev_put(odev);
1232 odev = NULL; 1233 odev = NULL;
@@ -1722,7 +1723,7 @@ struct sk_buff *ieee80211_beacon_get(struct ieee80211_hw *hw, int if_id,
1722 u8 *b_head, *b_tail; 1723 u8 *b_head, *b_tail;
1723 int bh_len, bt_len; 1724 int bh_len, bt_len;
1724 1725
1725 bdev = dev_get_by_index(if_id); 1726 bdev = dev_get_by_index(&init_net, if_id);
1726 if (bdev) { 1727 if (bdev) {
1727 sdata = IEEE80211_DEV_TO_SUB_IF(bdev); 1728 sdata = IEEE80211_DEV_TO_SUB_IF(bdev);
1728 ap = &sdata->u.ap; 1729 ap = &sdata->u.ap;
@@ -1836,7 +1837,7 @@ ieee80211_get_buffered_bc(struct ieee80211_hw *hw, int if_id,
1836 struct ieee80211_sub_if_data *sdata; 1837 struct ieee80211_sub_if_data *sdata;
1837 struct ieee80211_if_ap *bss = NULL; 1838 struct ieee80211_if_ap *bss = NULL;
1838 1839
1839 bdev = dev_get_by_index(if_id); 1840 bdev = dev_get_by_index(&init_net, if_id);
1840 if (bdev) { 1841 if (bdev) {
1841 sdata = IEEE80211_DEV_TO_SUB_IF(bdev); 1842 sdata = IEEE80211_DEV_TO_SUB_IF(bdev);
1842 bss = &sdata->u.ap; 1843 bss = &sdata->u.ap;