diff options
author | David S. Miller <davem@davemloft.net> | 2008-10-01 04:55:41 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-10-01 04:55:41 -0400 |
commit | 788df7322a7543a337c1ea400d38b621346ea78e (patch) | |
tree | 30e9ba775a44839726e07f79f2437ec431d1d8e6 /net | |
parent | 6e50e8a2136f1a90de251c653226ded447c5c915 (diff) | |
parent | 0d5f0316593df606515b17b037a1fd36c4b8bfdf (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6
Diffstat (limited to 'net')
-rw-r--r-- | net/mac80211/iface.c | 9 | ||||
-rw-r--r-- | net/mac80211/rx.c | 2 | ||||
-rw-r--r-- | net/mac80211/sta_info.h | 12 | ||||
-rw-r--r-- | net/mac80211/wme.c | 8 |
4 files changed, 9 insertions, 22 deletions
diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c index b5cd91e89712..8336fee68d3e 100644 --- a/net/mac80211/iface.c +++ b/net/mac80211/iface.c | |||
@@ -58,8 +58,9 @@ static inline int identical_mac_addr_allowed(int type1, int type2) | |||
58 | 58 | ||
59 | static int ieee80211_open(struct net_device *dev) | 59 | static int ieee80211_open(struct net_device *dev) |
60 | { | 60 | { |
61 | struct ieee80211_sub_if_data *sdata, *nsdata; | 61 | struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev); |
62 | struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr); | 62 | struct ieee80211_sub_if_data *nsdata; |
63 | struct ieee80211_local *local = sdata->local; | ||
63 | struct sta_info *sta; | 64 | struct sta_info *sta; |
64 | struct ieee80211_if_init_conf conf; | 65 | struct ieee80211_if_init_conf conf; |
65 | u32 changed = 0; | 66 | u32 changed = 0; |
@@ -67,8 +68,6 @@ static int ieee80211_open(struct net_device *dev) | |||
67 | bool need_hw_reconfig = 0; | 68 | bool need_hw_reconfig = 0; |
68 | u8 null_addr[ETH_ALEN] = {0}; | 69 | u8 null_addr[ETH_ALEN] = {0}; |
69 | 70 | ||
70 | sdata = IEEE80211_DEV_TO_SUB_IF(dev); | ||
71 | |||
72 | /* fail early if user set an invalid address */ | 71 | /* fail early if user set an invalid address */ |
73 | if (compare_ether_addr(dev->dev_addr, null_addr) && | 72 | if (compare_ether_addr(dev->dev_addr, null_addr) && |
74 | !is_valid_ether_addr(dev->dev_addr)) | 73 | !is_valid_ether_addr(dev->dev_addr)) |
@@ -512,8 +511,8 @@ static int ieee80211_stop(struct net_device *dev) | |||
512 | 511 | ||
513 | static void ieee80211_set_multicast_list(struct net_device *dev) | 512 | static void ieee80211_set_multicast_list(struct net_device *dev) |
514 | { | 513 | { |
515 | struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr); | ||
516 | struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev); | 514 | struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev); |
515 | struct ieee80211_local *local = sdata->local; | ||
517 | int allmulti, promisc, sdata_allmulti, sdata_promisc; | 516 | int allmulti, promisc, sdata_allmulti, sdata_promisc; |
518 | 517 | ||
519 | allmulti = !!(dev->flags & IFF_ALLMULTI); | 518 | allmulti = !!(dev->flags & IFF_ALLMULTI); |
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index c489865761bc..77e7b014872b 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c | |||
@@ -1379,7 +1379,7 @@ ieee80211_rx_h_amsdu(struct ieee80211_rx_data *rx) | |||
1379 | return RX_QUEUED; | 1379 | return RX_QUEUED; |
1380 | } | 1380 | } |
1381 | 1381 | ||
1382 | static ieee80211_rx_result debug_noinline | 1382 | static ieee80211_rx_result |
1383 | ieee80211_rx_h_mesh_fwding(struct ieee80211_rx_data *rx) | 1383 | ieee80211_rx_h_mesh_fwding(struct ieee80211_rx_data *rx) |
1384 | { | 1384 | { |
1385 | struct ieee80211_hdr *hdr; | 1385 | struct ieee80211_hdr *hdr; |
diff --git a/net/mac80211/sta_info.h b/net/mac80211/sta_info.h index c3f436964621..a6b51862a89d 100644 --- a/net/mac80211/sta_info.h +++ b/net/mac80211/sta_info.h | |||
@@ -189,7 +189,6 @@ struct sta_ampdu_mlme { | |||
189 | * @last_qual: qual of last received frame from this STA | 189 | * @last_qual: qual of last received frame from this STA |
190 | * @last_noise: noise of last received frame from this STA | 190 | * @last_noise: noise of last received frame from this STA |
191 | * @last_seq_ctrl: last received seq/frag number from this STA (per RX queue) | 191 | * @last_seq_ctrl: last received seq/frag number from this STA (per RX queue) |
192 | * @wme_rx_queue: TBD | ||
193 | * @tx_filtered_count: TBD | 192 | * @tx_filtered_count: TBD |
194 | * @tx_retry_failed: TBD | 193 | * @tx_retry_failed: TBD |
195 | * @tx_retry_count: TBD | 194 | * @tx_retry_count: TBD |
@@ -199,7 +198,6 @@ struct sta_ampdu_mlme { | |||
199 | * @tx_fragments: number of transmitted MPDUs | 198 | * @tx_fragments: number of transmitted MPDUs |
200 | * @last_txrate_idx: Index of the last used transmit rate | 199 | * @last_txrate_idx: Index of the last used transmit rate |
201 | * @tid_seq: TBD | 200 | * @tid_seq: TBD |
202 | * @wme_tx_queue: TBD | ||
203 | * @ampdu_mlme: TBD | 201 | * @ampdu_mlme: TBD |
204 | * @timer_to_tid: identity mapping to ID timers | 202 | * @timer_to_tid: identity mapping to ID timers |
205 | * @tid_to_tx_q: map tid to tx queue | 203 | * @tid_to_tx_q: map tid to tx queue |
@@ -258,9 +256,6 @@ struct sta_info { | |||
258 | int last_qual; | 256 | int last_qual; |
259 | int last_noise; | 257 | int last_noise; |
260 | __le16 last_seq_ctrl[NUM_RX_DATA_QUEUES]; | 258 | __le16 last_seq_ctrl[NUM_RX_DATA_QUEUES]; |
261 | #ifdef CONFIG_MAC80211_DEBUG_COUNTERS | ||
262 | unsigned int wme_rx_queue[NUM_RX_DATA_QUEUES]; | ||
263 | #endif | ||
264 | 259 | ||
265 | /* Updated from TX status path only, no locking requirements */ | 260 | /* Updated from TX status path only, no locking requirements */ |
266 | unsigned long tx_filtered_count; | 261 | unsigned long tx_filtered_count; |
@@ -274,9 +269,6 @@ struct sta_info { | |||
274 | unsigned long tx_fragments; | 269 | unsigned long tx_fragments; |
275 | unsigned int last_txrate_idx; | 270 | unsigned int last_txrate_idx; |
276 | u16 tid_seq[IEEE80211_QOS_CTL_TID_MASK + 1]; | 271 | u16 tid_seq[IEEE80211_QOS_CTL_TID_MASK + 1]; |
277 | #ifdef CONFIG_MAC80211_DEBUG_COUNTERS | ||
278 | unsigned int wme_tx_queue[NUM_RX_DATA_QUEUES]; | ||
279 | #endif | ||
280 | 272 | ||
281 | /* | 273 | /* |
282 | * Aggregation information, locked with lock. | 274 | * Aggregation information, locked with lock. |
@@ -307,10 +299,6 @@ struct sta_info { | |||
307 | struct dentry *num_ps_buf_frames; | 299 | struct dentry *num_ps_buf_frames; |
308 | struct dentry *inactive_ms; | 300 | struct dentry *inactive_ms; |
309 | struct dentry *last_seq_ctrl; | 301 | struct dentry *last_seq_ctrl; |
310 | #ifdef CONFIG_MAC80211_DEBUG_COUNTERS | ||
311 | struct dentry *wme_rx_queue; | ||
312 | struct dentry *wme_tx_queue; | ||
313 | #endif | ||
314 | struct dentry *agg_status; | 302 | struct dentry *agg_status; |
315 | } debugfs; | 303 | } debugfs; |
316 | #endif | 304 | #endif |
diff --git a/net/mac80211/wme.c b/net/mac80211/wme.c index c703f8b44e92..139b5f267b34 100644 --- a/net/mac80211/wme.c +++ b/net/mac80211/wme.c | |||
@@ -73,9 +73,8 @@ static int wme_downgrade_ac(struct sk_buff *skb) | |||
73 | 73 | ||
74 | 74 | ||
75 | /* Indicate which queue to use. */ | 75 | /* Indicate which queue to use. */ |
76 | static u16 classify80211(struct sk_buff *skb, struct net_device *dev) | 76 | static u16 classify80211(struct ieee80211_local *local, struct sk_buff *skb) |
77 | { | 77 | { |
78 | struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr); | ||
79 | struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data; | 78 | struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data; |
80 | 79 | ||
81 | if (!ieee80211_is_data(hdr->frame_control)) { | 80 | if (!ieee80211_is_data(hdr->frame_control)) { |
@@ -113,14 +112,15 @@ static u16 classify80211(struct sk_buff *skb, struct net_device *dev) | |||
113 | 112 | ||
114 | u16 ieee80211_select_queue(struct net_device *dev, struct sk_buff *skb) | 113 | u16 ieee80211_select_queue(struct net_device *dev, struct sk_buff *skb) |
115 | { | 114 | { |
115 | struct ieee80211_master_priv *mpriv = netdev_priv(dev); | ||
116 | struct ieee80211_local *local = mpriv->local; | ||
116 | struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data; | 117 | struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data; |
117 | struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr); | ||
118 | struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); | 118 | struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); |
119 | struct sta_info *sta; | 119 | struct sta_info *sta; |
120 | u16 queue; | 120 | u16 queue; |
121 | u8 tid; | 121 | u8 tid; |
122 | 122 | ||
123 | queue = classify80211(skb, dev); | 123 | queue = classify80211(local, skb); |
124 | if (unlikely(queue >= local->hw.queues)) | 124 | if (unlikely(queue >= local->hw.queues)) |
125 | queue = local->hw.queues - 1; | 125 | queue = local->hw.queues - 1; |
126 | 126 | ||