aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211')
-rw-r--r--net/mac80211/ieee80211.c1
-rw-r--r--net/mac80211/ieee80211_cfg.c3
-rw-r--r--net/mac80211/tx.c9
-rw-r--r--net/mac80211/util.c7
4 files changed, 12 insertions, 8 deletions
diff --git a/net/mac80211/ieee80211.c b/net/mac80211/ieee80211.c
index 73e314e33de2..506cfa06b184 100644
--- a/net/mac80211/ieee80211.c
+++ b/net/mac80211/ieee80211.c
@@ -21,6 +21,7 @@
21#include <linux/wireless.h> 21#include <linux/wireless.h>
22#include <linux/rtnetlink.h> 22#include <linux/rtnetlink.h>
23#include <linux/bitmap.h> 23#include <linux/bitmap.h>
24#include <net/net_namespace.h>
24#include <net/cfg80211.h> 25#include <net/cfg80211.h>
25 26
26#include "ieee80211_common.h" 27#include "ieee80211_common.h"
diff --git a/net/mac80211/ieee80211_cfg.c b/net/mac80211/ieee80211_cfg.c
index 509096edb324..b1c13bc9c3ca 100644
--- a/net/mac80211/ieee80211_cfg.c
+++ b/net/mac80211/ieee80211_cfg.c
@@ -8,6 +8,7 @@
8 8
9#include <linux/nl80211.h> 9#include <linux/nl80211.h>
10#include <linux/rtnetlink.h> 10#include <linux/rtnetlink.h>
11#include <net/net_namespace.h>
11#include <net/cfg80211.h> 12#include <net/cfg80211.h>
12#include "ieee80211_i.h" 13#include "ieee80211_i.h"
13#include "ieee80211_cfg.h" 14#include "ieee80211_cfg.h"
@@ -50,7 +51,7 @@ static int ieee80211_del_iface(struct wiphy *wiphy, int ifindex)
50 if (unlikely(local->reg_state != IEEE80211_DEV_REGISTERED)) 51 if (unlikely(local->reg_state != IEEE80211_DEV_REGISTERED))
51 return -ENODEV; 52 return -ENODEV;
52 53
53 dev = dev_get_by_index(ifindex); 54 dev = dev_get_by_index(&init_net, ifindex);
54 if (!dev) 55 if (!dev)
55 return 0; 56 return 0;
56 57
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;
diff --git a/net/mac80211/util.c b/net/mac80211/util.c
index 07686bda26cd..c970996ba6f9 100644
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
@@ -20,6 +20,7 @@
20#include <linux/if_arp.h> 20#include <linux/if_arp.h>
21#include <linux/wireless.h> 21#include <linux/wireless.h>
22#include <linux/bitmap.h> 22#include <linux/bitmap.h>
23#include <net/net_namespace.h>
23#include <net/cfg80211.h> 24#include <net/cfg80211.h>
24 25
25#include "ieee80211_i.h" 26#include "ieee80211_i.h"
@@ -318,7 +319,7 @@ __le16 ieee80211_generic_frame_duration(struct ieee80211_hw *hw, int if_id,
318 size_t frame_len, int rate) 319 size_t frame_len, int rate)
319{ 320{
320 struct ieee80211_local *local = hw_to_local(hw); 321 struct ieee80211_local *local = hw_to_local(hw);
321 struct net_device *bdev = dev_get_by_index(if_id); 322 struct net_device *bdev = dev_get_by_index(&init_net, if_id);
322 struct ieee80211_sub_if_data *sdata; 323 struct ieee80211_sub_if_data *sdata;
323 u16 dur; 324 u16 dur;
324 int erp; 325 int erp;
@@ -342,7 +343,7 @@ __le16 ieee80211_rts_duration(struct ieee80211_hw *hw, int if_id,
342{ 343{
343 struct ieee80211_local *local = hw_to_local(hw); 344 struct ieee80211_local *local = hw_to_local(hw);
344 struct ieee80211_rate *rate; 345 struct ieee80211_rate *rate;
345 struct net_device *bdev = dev_get_by_index(if_id); 346 struct net_device *bdev = dev_get_by_index(&init_net, if_id);
346 struct ieee80211_sub_if_data *sdata; 347 struct ieee80211_sub_if_data *sdata;
347 int short_preamble; 348 int short_preamble;
348 int erp; 349 int erp;
@@ -378,7 +379,7 @@ __le16 ieee80211_ctstoself_duration(struct ieee80211_hw *hw, int if_id,
378{ 379{
379 struct ieee80211_local *local = hw_to_local(hw); 380 struct ieee80211_local *local = hw_to_local(hw);
380 struct ieee80211_rate *rate; 381 struct ieee80211_rate *rate;
381 struct net_device *bdev = dev_get_by_index(if_id); 382 struct net_device *bdev = dev_get_by_index(&init_net, if_id);
382 struct ieee80211_sub_if_data *sdata; 383 struct ieee80211_sub_if_data *sdata;
383 int short_preamble; 384 int short_preamble;
384 int erp; 385 int erp;