about summary refs log tree commit diff
path: root/src/nm-device-olpc-mesh.c
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2012-06-29 20:12:44 +0200
committerMichael Biebl <biebl@debian.org>2012-06-29 20:12:44 +0200
commit867254ea7c2b193fecf8cd36cc6e5dc53c290d92 (patch)
tree7c698b403882736ab70c3efd524c3460f08c391c /src/nm-device-olpc-mesh.c
parentde06e5715e780baade318f3490ac7a4c9ce84e32 (diff)
Imported Upstream version 0.9.5.95 upstream/0.9.5.95
Diffstat (limited to 'src/nm-device-olpc-mesh.c')
-rw-r--r--src/nm-device-olpc-mesh.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/nm-device-olpc-mesh.c b/src/nm-device-olpc-mesh.c
index f6390c16..8e3cb952 100644
--- a/src/nm-device-olpc-mesh.c
+++ b/src/nm-device-olpc-mesh.c
@@ -55,6 +55,9 @@
 #include "nm-manager.h"
 #include "nm-enum-types.h"
 #include "wifi-utils.h"
+#if HAVE_WEXT
+#include "wifi-utils-wext.h"
+#endif
 
 /* This is a bug; but we can't really change API now... */
 #include "NetworkManagerVPN.h"
@@ -153,9 +156,16 @@ constructor (GType type,
 	            nm_device_get_iface (NM_DEVICE (self)),
 	            nm_device_get_ifindex (NM_DEVICE (self)));
 
-	priv->wifi_data = wifi_utils_init (nm_device_get_iface (NM_DEVICE (self)),
-	                                   nm_device_get_ifindex (NM_DEVICE (self)),
-	                                   FALSE);
+	/*
+	 * The kernel driver now uses nl80211, but we force use of WEXT because
+	 * the cfg80211 interactions are not quite ready to support access to
+	 * mesh control through nl80211 just yet.
+	 */
+#if HAVE_WEXT
+	priv->wifi_data = wifi_wext_init (nm_device_get_iface (NM_DEVICE (self)),
+	                                  nm_device_get_ifindex (NM_DEVICE (self)),
+	                                  FALSE);
+#endif
 	if (priv->wifi_data == NULL) {
 		nm_log_warn (LOGD_HW | LOGD_OLPC_MESH, "(%s): failed to initialize WiFi driver",
 		             nm_device_get_iface (NM_DEVICE (self)));