summaryrefslogtreecommitdiffstats
path: root/drivers/cdmamodem/connman.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/cdmamodem/connman.c')
-rw-r--r--drivers/cdmamodem/connman.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/cdmamodem/connman.c b/drivers/cdmamodem/connman.c
index ce9a7483..0df93eb5 100644
--- a/drivers/cdmamodem/connman.c
+++ b/drivers/cdmamodem/connman.c
@@ -28,6 +28,7 @@
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
+#include <sys/stat.h>
#include <glib.h>
@@ -41,6 +42,8 @@
#include "cdmamodem.h"
+#define TUN_SYSFS_DIR "/sys/devices/virtual/misc/tun"
+
#define STATIC_IP_NETMASK "255.255.255.255"
static const char *none_prefix[] = { NULL };
@@ -240,9 +243,15 @@ static int cdma_connman_probe(struct ofono_cdma_connman *cm,
{
GAtChat *chat = data;
struct connman_data *cd;
+ struct stat st;
DBG("");
+ if (stat(TUN_SYSFS_DIR, &st) < 0) {
+ ofono_error("Missing support for TUN/TAP devices");
+ return -ENODEV;
+ }
+
cd = g_try_new0(struct connman_data, 1);
if (cd == NULL)
return -ENOMEM;