diff options
author | Bertrand Aygon <bertrand.aygon@intel.com> | 2011-07-24 05:32:42 +0200 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2011-07-24 16:45:14 +0200 |
commit | 6d986fe379b364be163baf9267abc8c2ea42aa54 (patch) | |
tree | 4d40753fd0c4bfced996206ab2b3eba4633a99d8 /drivers/cdmamodem | |
parent | bff43cead1e04e83277f449b9f0905a875bc1154 (diff) | |
download | ofono-6d986fe379b364be163baf9267abc8c2ea42aa54.tar.bz2 |
cdmamodem: check for TUN/TAP devices in ConnMan atom.
Diffstat (limited to 'drivers/cdmamodem')
-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; |