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