Revert "mac80211: use a struct for bss->mesh_config"

This reverts commit 6c4711b469.

That patch breaks mesh config comparison between beacons/probe reponses, so
every beacon from a mesh network would be added as a new bss. Since the
comparison has to be performed for every received beacon I believe it is best to
save the mesh config in a format easy to compare, rather than do a bunch of
unaligned accesses to compare field by field.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
John W. Linville
2008-04-08 14:15:46 -04:00
parent 8eefca4888
commit 2473670163
4 changed files with 18 additions and 41 deletions

View File

@@ -69,14 +69,6 @@ struct ieee80211_fragment_entry {
u8 last_pn[6]; /* PN of the last fragment if CCMP was used */
};
struct bss_mesh_config {
u32 path_proto_id;
u32 path_metric_id;
u32 cong_control_id;
u32 channel_precedence;
u8 mesh_version;
};
struct ieee80211_sta_bss {
struct list_head list;
@@ -102,7 +94,7 @@ struct ieee80211_sta_bss {
#ifdef CONFIG_MAC80211_MESH
u8 *mesh_id;
size_t mesh_id_len;
struct bss_mesh_config *mesh_cfg;
u8 *mesh_cfg;
#endif
#define IEEE80211_MAX_SUPP_RATES 32
u8 supp_rates[IEEE80211_MAX_SUPP_RATES];
@@ -121,8 +113,7 @@ struct ieee80211_sta_bss {
u8 erp_value;
};
static inline
struct bss_mesh_config *bss_mesh_cfg(struct ieee80211_sta_bss *bss)
static inline u8 *bss_mesh_cfg(struct ieee80211_sta_bss *bss)
{
#ifdef CONFIG_MAC80211_MESH
return bss->mesh_cfg;