diff options
Diffstat (limited to 'drivers/cdmamodem/connman.c')
-rw-r--r-- | drivers/cdmamodem/connman.c | 9 |
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; |