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;