diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2008-09-12 05:05:39 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-09-15 16:48:26 -0400 |
commit | c1b6cf4ee0fb8a3698c563e101a60f9ee4910de0 (patch) | |
tree | 61822116ba1da60378029ae522ed2cd4e5ad2bdf /net | |
parent | 62c1f95e3993480ae451c322588f7cbf5a58db28 (diff) |
mac80211: remove beacon counters
The beacon counters mac80211 keeps are only used for debugfs,
unfortunately, they are incorrect for many hardware designs,
namely any design that has a beacon template. Hence, remove the
counters so we don't create the impression they are usable.
This also allows removing the beacon MESH #ifdef again.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/mac80211/debugfs_netdev.c | 6 | ||||
-rw-r--r-- | net/mac80211/ieee80211_i.h | 5 | ||||
-rw-r--r-- | net/mac80211/tx.c | 9 |
3 files changed, 0 insertions, 20 deletions
diff --git a/net/mac80211/debugfs_netdev.c b/net/mac80211/debugfs_netdev.c index 1b33cad24abc..2a4515623776 100644 --- a/net/mac80211/debugfs_netdev.c +++ b/net/mac80211/debugfs_netdev.c | |||
@@ -173,7 +173,6 @@ IEEE80211_IF_FILE(assoc_tries, u.sta.assoc_tries, DEC); | |||
173 | IEEE80211_IF_FILE(auth_algs, u.sta.auth_algs, HEX); | 173 | IEEE80211_IF_FILE(auth_algs, u.sta.auth_algs, HEX); |
174 | IEEE80211_IF_FILE(auth_alg, u.sta.auth_alg, DEC); | 174 | IEEE80211_IF_FILE(auth_alg, u.sta.auth_alg, DEC); |
175 | IEEE80211_IF_FILE(auth_transaction, u.sta.auth_transaction, DEC); | 175 | IEEE80211_IF_FILE(auth_transaction, u.sta.auth_transaction, DEC); |
176 | IEEE80211_IF_FILE(num_beacons_sta, u.sta.num_beacons, DEC); | ||
177 | 176 | ||
178 | static ssize_t ieee80211_if_fmt_flags( | 177 | static ssize_t ieee80211_if_fmt_flags( |
179 | const struct ieee80211_sub_if_data *sdata, char *buf, int buflen) | 178 | const struct ieee80211_sub_if_data *sdata, char *buf, int buflen) |
@@ -192,7 +191,6 @@ __IEEE80211_IF_FILE(flags); | |||
192 | /* AP attributes */ | 191 | /* AP attributes */ |
193 | IEEE80211_IF_FILE(num_sta_ps, u.ap.num_sta_ps, ATOMIC); | 192 | IEEE80211_IF_FILE(num_sta_ps, u.ap.num_sta_ps, ATOMIC); |
194 | IEEE80211_IF_FILE(dtim_count, u.ap.dtim_count, DEC); | 193 | IEEE80211_IF_FILE(dtim_count, u.ap.dtim_count, DEC); |
195 | IEEE80211_IF_FILE(num_beacons, u.ap.num_beacons, DEC); | ||
196 | 194 | ||
197 | static ssize_t ieee80211_if_fmt_num_buffered_multicast( | 195 | static ssize_t ieee80211_if_fmt_num_buffered_multicast( |
198 | const struct ieee80211_sub_if_data *sdata, char *buf, int buflen) | 196 | const struct ieee80211_sub_if_data *sdata, char *buf, int buflen) |
@@ -265,7 +263,6 @@ static void add_sta_files(struct ieee80211_sub_if_data *sdata) | |||
265 | DEBUGFS_ADD(auth_alg, sta); | 263 | DEBUGFS_ADD(auth_alg, sta); |
266 | DEBUGFS_ADD(auth_transaction, sta); | 264 | DEBUGFS_ADD(auth_transaction, sta); |
267 | DEBUGFS_ADD(flags, sta); | 265 | DEBUGFS_ADD(flags, sta); |
268 | DEBUGFS_ADD(num_beacons_sta, sta); | ||
269 | } | 266 | } |
270 | 267 | ||
271 | static void add_ap_files(struct ieee80211_sub_if_data *sdata) | 268 | static void add_ap_files(struct ieee80211_sub_if_data *sdata) |
@@ -276,7 +273,6 @@ static void add_ap_files(struct ieee80211_sub_if_data *sdata) | |||
276 | 273 | ||
277 | DEBUGFS_ADD(num_sta_ps, ap); | 274 | DEBUGFS_ADD(num_sta_ps, ap); |
278 | DEBUGFS_ADD(dtim_count, ap); | 275 | DEBUGFS_ADD(dtim_count, ap); |
279 | DEBUGFS_ADD(num_beacons, ap); | ||
280 | DEBUGFS_ADD(num_buffered_multicast, ap); | 276 | DEBUGFS_ADD(num_buffered_multicast, ap); |
281 | } | 277 | } |
282 | 278 | ||
@@ -398,7 +394,6 @@ static void del_sta_files(struct ieee80211_sub_if_data *sdata) | |||
398 | DEBUGFS_DEL(auth_alg, sta); | 394 | DEBUGFS_DEL(auth_alg, sta); |
399 | DEBUGFS_DEL(auth_transaction, sta); | 395 | DEBUGFS_DEL(auth_transaction, sta); |
400 | DEBUGFS_DEL(flags, sta); | 396 | DEBUGFS_DEL(flags, sta); |
401 | DEBUGFS_DEL(num_beacons_sta, sta); | ||
402 | } | 397 | } |
403 | 398 | ||
404 | static void del_ap_files(struct ieee80211_sub_if_data *sdata) | 399 | static void del_ap_files(struct ieee80211_sub_if_data *sdata) |
@@ -409,7 +404,6 @@ static void del_ap_files(struct ieee80211_sub_if_data *sdata) | |||
409 | 404 | ||
410 | DEBUGFS_DEL(num_sta_ps, ap); | 405 | DEBUGFS_DEL(num_sta_ps, ap); |
411 | DEBUGFS_DEL(dtim_count, ap); | 406 | DEBUGFS_DEL(dtim_count, ap); |
412 | DEBUGFS_DEL(num_beacons, ap); | ||
413 | DEBUGFS_DEL(num_buffered_multicast, ap); | 407 | DEBUGFS_DEL(num_buffered_multicast, ap); |
414 | } | 408 | } |
415 | 409 | ||
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h index 6bd6a6306da3..3912fba6d3d0 100644 --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h | |||
@@ -229,7 +229,6 @@ struct ieee80211_if_ap { | |||
229 | struct sk_buff_head ps_bc_buf; | 229 | struct sk_buff_head ps_bc_buf; |
230 | atomic_t num_sta_ps; /* number of stations in PS mode */ | 230 | atomic_t num_sta_ps; /* number of stations in PS mode */ |
231 | int dtim_count; | 231 | int dtim_count; |
232 | int num_beacons; /* number of TXed beacon frames for this BSS */ | ||
233 | }; | 232 | }; |
234 | 233 | ||
235 | struct ieee80211_if_wds { | 234 | struct ieee80211_if_wds { |
@@ -352,7 +351,6 @@ struct ieee80211_if_sta { | |||
352 | u32 supp_rates_bits[IEEE80211_NUM_BANDS]; | 351 | u32 supp_rates_bits[IEEE80211_NUM_BANDS]; |
353 | 352 | ||
354 | int wmm_last_param_set; | 353 | int wmm_last_param_set; |
355 | int num_beacons; /* number of TXed beacon frames by this STA */ | ||
356 | }; | 354 | }; |
357 | 355 | ||
358 | struct ieee80211_if_mesh { | 356 | struct ieee80211_if_mesh { |
@@ -388,7 +386,6 @@ struct ieee80211_if_mesh { | |||
388 | struct mesh_config mshcfg; | 386 | struct mesh_config mshcfg; |
389 | u32 mesh_seqnum; | 387 | u32 mesh_seqnum; |
390 | bool accepting_plinks; | 388 | bool accepting_plinks; |
391 | int num_beacons; | ||
392 | }; | 389 | }; |
393 | 390 | ||
394 | #ifdef CONFIG_MAC80211_MESH | 391 | #ifdef CONFIG_MAC80211_MESH |
@@ -484,7 +481,6 @@ struct ieee80211_sub_if_data { | |||
484 | struct dentry *auth_alg; | 481 | struct dentry *auth_alg; |
485 | struct dentry *auth_transaction; | 482 | struct dentry *auth_transaction; |
486 | struct dentry *flags; | 483 | struct dentry *flags; |
487 | struct dentry *num_beacons_sta; | ||
488 | struct dentry *force_unicast_rateidx; | 484 | struct dentry *force_unicast_rateidx; |
489 | struct dentry *max_ratectrl_rateidx; | 485 | struct dentry *max_ratectrl_rateidx; |
490 | } sta; | 486 | } sta; |
@@ -492,7 +488,6 @@ struct ieee80211_sub_if_data { | |||
492 | struct dentry *drop_unencrypted; | 488 | struct dentry *drop_unencrypted; |
493 | struct dentry *num_sta_ps; | 489 | struct dentry *num_sta_ps; |
494 | struct dentry *dtim_count; | 490 | struct dentry *dtim_count; |
495 | struct dentry *num_beacons; | ||
496 | struct dentry *force_unicast_rateidx; | 491 | struct dentry *force_unicast_rateidx; |
497 | struct dentry *max_ratectrl_rateidx; | 492 | struct dentry *max_ratectrl_rateidx; |
498 | struct dentry *num_buffered_multicast; | 493 | struct dentry *num_buffered_multicast; |
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c index c12f361d7185..d136a371e6bd 100644 --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c | |||
@@ -1864,7 +1864,6 @@ struct sk_buff *ieee80211_beacon_get(struct ieee80211_hw *hw, | |||
1864 | struct rate_selection rsel; | 1864 | struct rate_selection rsel; |
1865 | struct beacon_data *beacon; | 1865 | struct beacon_data *beacon; |
1866 | struct ieee80211_supported_band *sband; | 1866 | struct ieee80211_supported_band *sband; |
1867 | int *num_beacons; | ||
1868 | enum ieee80211_band band = local->hw.conf.channel->band; | 1867 | enum ieee80211_band band = local->hw.conf.channel->band; |
1869 | 1868 | ||
1870 | sband = local->hw.wiphy->bands[band]; | 1869 | sband = local->hw.wiphy->bands[band]; |
@@ -1912,8 +1911,6 @@ struct sk_buff *ieee80211_beacon_get(struct ieee80211_hw *hw, | |||
1912 | if (beacon->tail) | 1911 | if (beacon->tail) |
1913 | memcpy(skb_put(skb, beacon->tail_len), | 1912 | memcpy(skb_put(skb, beacon->tail_len), |
1914 | beacon->tail, beacon->tail_len); | 1913 | beacon->tail, beacon->tail_len); |
1915 | |||
1916 | num_beacons = &ap->num_beacons; | ||
1917 | } else | 1914 | } else |
1918 | goto out; | 1915 | goto out; |
1919 | } else if (sdata->vif.type == NL80211_IFTYPE_ADHOC) { | 1916 | } else if (sdata->vif.type == NL80211_IFTYPE_ADHOC) { |
@@ -1931,8 +1928,6 @@ struct sk_buff *ieee80211_beacon_get(struct ieee80211_hw *hw, | |||
1931 | hdr->frame_control = cpu_to_le16(IEEE80211_FTYPE_MGMT | | 1928 | hdr->frame_control = cpu_to_le16(IEEE80211_FTYPE_MGMT | |
1932 | IEEE80211_STYPE_BEACON); | 1929 | IEEE80211_STYPE_BEACON); |
1933 | 1930 | ||
1934 | num_beacons = &ifsta->num_beacons; | ||
1935 | #ifdef CONFIG_MAC80211_MESH | ||
1936 | } else if (ieee80211_vif_is_mesh(&sdata->vif)) { | 1931 | } else if (ieee80211_vif_is_mesh(&sdata->vif)) { |
1937 | struct ieee80211_mgmt *mgmt; | 1932 | struct ieee80211_mgmt *mgmt; |
1938 | u8 *pos; | 1933 | u8 *pos; |
@@ -1960,9 +1955,6 @@ struct sk_buff *ieee80211_beacon_get(struct ieee80211_hw *hw, | |||
1960 | *pos++ = 0x0; | 1955 | *pos++ = 0x0; |
1961 | 1956 | ||
1962 | mesh_mgmt_ies_add(skb, sdata); | 1957 | mesh_mgmt_ies_add(skb, sdata); |
1963 | |||
1964 | num_beacons = &sdata->u.mesh.num_beacons; | ||
1965 | #endif | ||
1966 | } else { | 1958 | } else { |
1967 | WARN_ON(1); | 1959 | WARN_ON(1); |
1968 | goto out; | 1960 | goto out; |
@@ -1999,7 +1991,6 @@ struct sk_buff *ieee80211_beacon_get(struct ieee80211_hw *hw, | |||
1999 | info->antenna_sel_tx = local->hw.conf.antenna_sel_tx; | 1991 | info->antenna_sel_tx = local->hw.conf.antenna_sel_tx; |
2000 | info->control.retry_limit = 1; | 1992 | info->control.retry_limit = 1; |
2001 | 1993 | ||
2002 | (*num_beacons)++; | ||
2003 | out: | 1994 | out: |
2004 | rcu_read_unlock(); | 1995 | rcu_read_unlock(); |
2005 | return skb; | 1996 | return skb; |