Commit b4a4bf5d authored by Johannes Berg's avatar Johannes Berg Committed by John W. Linville

mac80211: fixups for "make master iface not wireless"

In "mac80211: make master iface not wireless" I accidentally
forgot to include these changes ... leading to the expected
BUG_ON errors.
Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 093d874c
...@@ -58,8 +58,9 @@ static inline int identical_mac_addr_allowed(int type1, int type2) ...@@ -58,8 +58,9 @@ static inline int identical_mac_addr_allowed(int type1, int type2)
static int ieee80211_open(struct net_device *dev) static int ieee80211_open(struct net_device *dev)
{ {
struct ieee80211_sub_if_data *sdata, *nsdata; struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr); struct ieee80211_sub_if_data *nsdata;
struct ieee80211_local *local = sdata->local;
struct sta_info *sta; struct sta_info *sta;
struct ieee80211_if_init_conf conf; struct ieee80211_if_init_conf conf;
u32 changed = 0; u32 changed = 0;
...@@ -67,8 +68,6 @@ static int ieee80211_open(struct net_device *dev) ...@@ -67,8 +68,6 @@ static int ieee80211_open(struct net_device *dev)
bool need_hw_reconfig = 0; bool need_hw_reconfig = 0;
u8 null_addr[ETH_ALEN] = {0}; u8 null_addr[ETH_ALEN] = {0};
sdata = IEEE80211_DEV_TO_SUB_IF(dev);
/* fail early if user set an invalid address */ /* fail early if user set an invalid address */
if (compare_ether_addr(dev->dev_addr, null_addr) && if (compare_ether_addr(dev->dev_addr, null_addr) &&
!is_valid_ether_addr(dev->dev_addr)) !is_valid_ether_addr(dev->dev_addr))
...@@ -512,8 +511,8 @@ static int ieee80211_stop(struct net_device *dev) ...@@ -512,8 +511,8 @@ static int ieee80211_stop(struct net_device *dev)
static void ieee80211_set_multicast_list(struct net_device *dev) static void ieee80211_set_multicast_list(struct net_device *dev)
{ {
struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr);
struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev); struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
struct ieee80211_local *local = sdata->local;
int allmulti, promisc, sdata_allmulti, sdata_promisc; int allmulti, promisc, sdata_allmulti, sdata_promisc;
allmulti = !!(dev->flags & IFF_ALLMULTI); allmulti = !!(dev->flags & IFF_ALLMULTI);
......
...@@ -73,9 +73,8 @@ static int wme_downgrade_ac(struct sk_buff *skb) ...@@ -73,9 +73,8 @@ static int wme_downgrade_ac(struct sk_buff *skb)
/* Indicate which queue to use. */ /* Indicate which queue to use. */
static u16 classify80211(struct sk_buff *skb, struct net_device *dev) static u16 classify80211(struct ieee80211_local *local, struct sk_buff *skb)
{ {
struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr);
struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data; struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data;
if (!ieee80211_is_data(hdr->frame_control)) { if (!ieee80211_is_data(hdr->frame_control)) {
...@@ -113,14 +112,15 @@ static u16 classify80211(struct sk_buff *skb, struct net_device *dev) ...@@ -113,14 +112,15 @@ static u16 classify80211(struct sk_buff *skb, struct net_device *dev)
u16 ieee80211_select_queue(struct net_device *dev, struct sk_buff *skb) u16 ieee80211_select_queue(struct net_device *dev, struct sk_buff *skb)
{ {
struct ieee80211_master_priv *mpriv = netdev_priv(dev);
struct ieee80211_local *local = mpriv->local;
struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data; struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data;
struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr);
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
struct sta_info *sta; struct sta_info *sta;
u16 queue; u16 queue;
u8 tid; u8 tid;
queue = classify80211(skb, dev); queue = classify80211(local, skb);
if (unlikely(queue >= local->hw.queues)) if (unlikely(queue >= local->hw.queues))
queue = local->hw.queues - 1; queue = local->hw.queues - 1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment