aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/ieee80211_i.h
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2009-06-17 11:43:56 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-07-24 15:05:30 -0400
commit3b8d81e020f77c9da8b85b0685c8cd2ca7c7b150 (patch)
treea19fcddbf28fecdbd13ad009fe07b8afc5e95c90 /net/mac80211/ieee80211_i.h
parentc4029083e2acb82229c43b791c07afb089d972ff (diff)
mac80211: remove master netdev
With the internal 'pending' queue system in place, we can simply put packets there instead of pushing them off to the master dev, getting rid of the master interface completely. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r--net/mac80211/ieee80211_i.h19
1 files changed, 8 insertions, 11 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
index a34bca2dc52..6a0177137dd 100644
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
@@ -567,14 +567,9 @@ enum queue_stop_reason {
567 IEEE80211_QUEUE_STOP_REASON_CSA, 567 IEEE80211_QUEUE_STOP_REASON_CSA,
568 IEEE80211_QUEUE_STOP_REASON_AGGREGATION, 568 IEEE80211_QUEUE_STOP_REASON_AGGREGATION,
569 IEEE80211_QUEUE_STOP_REASON_SUSPEND, 569 IEEE80211_QUEUE_STOP_REASON_SUSPEND,
570 IEEE80211_QUEUE_STOP_REASON_PENDING,
571 IEEE80211_QUEUE_STOP_REASON_SKB_ADD, 570 IEEE80211_QUEUE_STOP_REASON_SKB_ADD,
572}; 571};
573 572
574struct ieee80211_master_priv {
575 struct ieee80211_local *local;
576};
577
578struct ieee80211_local { 573struct ieee80211_local {
579 /* embed the driver visible part. 574 /* embed the driver visible part.
580 * don't cast (use the static inlines below), but we keep 575 * don't cast (use the static inlines below), but we keep
@@ -587,13 +582,20 @@ struct ieee80211_local {
587 /* also used to protect ampdu_ac_queue and amdpu_ac_stop_refcnt */ 582 /* also used to protect ampdu_ac_queue and amdpu_ac_stop_refcnt */
588 spinlock_t queue_stop_reason_lock; 583 spinlock_t queue_stop_reason_lock;
589 584
590 struct net_device *mdev; /* wmaster# - "master" 802.11 device */
591 int open_count; 585 int open_count;
592 int monitors, cooked_mntrs; 586 int monitors, cooked_mntrs;
593 /* number of interfaces with corresponding FIF_ flags */ 587 /* number of interfaces with corresponding FIF_ flags */
594 int fif_fcsfail, fif_plcpfail, fif_control, fif_other_bss; 588 int fif_fcsfail, fif_plcpfail, fif_control, fif_other_bss;
595 unsigned int filter_flags; /* FIF_* */ 589 unsigned int filter_flags; /* FIF_* */
596 struct iw_statistics wstats; 590 struct iw_statistics wstats;
591
592 /* protects the aggregated multicast list and filter calls */
593 spinlock_t filter_lock;
594
595 /* aggregated multicast list */
596 struct dev_addr_list *mc_list;
597 int mc_count;
598
597 bool tim_in_locked_section; /* see ieee80211_beacon_get() */ 599 bool tim_in_locked_section; /* see ieee80211_beacon_get() */
598 600
599 /* 601 /*
@@ -813,10 +815,6 @@ struct ieee80211_local {
813static inline struct ieee80211_sub_if_data * 815static inline struct ieee80211_sub_if_data *
814IEEE80211_DEV_TO_SUB_IF(struct net_device *dev) 816IEEE80211_DEV_TO_SUB_IF(struct net_device *dev)
815{ 817{
816 struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr);
817
818 BUG_ON(!local || local->mdev == dev);
819
820 return netdev_priv(dev); 818 return netdev_priv(dev);
821} 819}
822 820
@@ -996,7 +994,6 @@ void ieee80211_recalc_idle(struct ieee80211_local *local);
996/* tx handling */ 994/* tx handling */
997void ieee80211_clear_tx_pending(struct ieee80211_local *local); 995void ieee80211_clear_tx_pending(struct ieee80211_local *local);
998void ieee80211_tx_pending(unsigned long data); 996void ieee80211_tx_pending(unsigned long data);
999int ieee80211_master_start_xmit(struct sk_buff *skb, struct net_device *dev);
1000int ieee80211_monitor_start_xmit(struct sk_buff *skb, struct net_device *dev); 997int ieee80211_monitor_start_xmit(struct sk_buff *skb, struct net_device *dev);
1001int ieee80211_subif_start_xmit(struct sk_buff *skb, struct net_device *dev); 998int ieee80211_subif_start_xmit(struct sk_buff *skb, struct net_device *dev);
1002 999