Revert "mac80211: use a struct for bss->mesh_config"
This reverts commit 6c4711b4697d93424e4b1f76a9929ba844d714a5.
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>
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
index 6c62dd4..0997a0f 100644
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
@@ -69,14 +69,6 @@
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 @@
#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 @@
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;