diff options
Diffstat (limited to 'net/mac80211')
-rw-r--r-- | net/mac80211/ieee80211.c | 1 | ||||
-rw-r--r-- | net/mac80211/ieee80211_cfg.c | 3 | ||||
-rw-r--r-- | net/mac80211/tx.c | 9 | ||||
-rw-r--r-- | net/mac80211/util.c | 7 |
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; |