aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2008-09-12 05:05:39 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-09-15 16:48:26 -0400
commitc1b6cf4ee0fb8a3698c563e101a60f9ee4910de0 (patch)
tree61822116ba1da60378029ae522ed2cd4e5ad2bdf
parent62c1f95e3993480ae451c322588f7cbf5a58db28 (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>
-rw-r--r--net/mac80211/debugfs_netdev.c6
-rw-r--r--net/mac80211/ieee80211_i.h5
-rw-r--r--net/mac80211/tx.c9
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);
173IEEE80211_IF_FILE(auth_algs, u.sta.auth_algs, HEX); 173IEEE80211_IF_FILE(auth_algs, u.sta.auth_algs, HEX);
174IEEE80211_IF_FILE(auth_alg, u.sta.auth_alg, DEC); 174IEEE80211_IF_FILE(auth_alg, u.sta.auth_alg, DEC);
175IEEE80211_IF_FILE(auth_transaction, u.sta.auth_transaction, DEC); 175IEEE80211_IF_FILE(auth_transaction, u.sta.auth_transaction, DEC);
176IEEE80211_IF_FILE(num_beacons_sta, u.sta.num_beacons, DEC);
177 176
178static ssize_t ieee80211_if_fmt_flags( 177static 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 */
193IEEE80211_IF_FILE(num_sta_ps, u.ap.num_sta_ps, ATOMIC); 192IEEE80211_IF_FILE(num_sta_ps, u.ap.num_sta_ps, ATOMIC);
194IEEE80211_IF_FILE(dtim_count, u.ap.dtim_count, DEC); 193IEEE80211_IF_FILE(dtim_count, u.ap.dtim_count, DEC);
195IEEE80211_IF_FILE(num_beacons, u.ap.num_beacons, DEC);
196 194
197static ssize_t ieee80211_if_fmt_num_buffered_multicast( 195static 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
271static void add_ap_files(struct ieee80211_sub_if_data *sdata) 268static 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
404static void del_ap_files(struct ieee80211_sub_if_data *sdata) 399static 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
235struct ieee80211_if_wds { 234struct 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
358struct ieee80211_if_mesh { 356struct 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)++;
2003out: 1994out:
2004 rcu_read_unlock(); 1995 rcu_read_unlock();
2005 return skb; 1996 return skb;