summaryrefslogtreecommitdiff
path: root/src/inet.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2009-09-05 17:36:17 +0200
committerMarcel Holtmann <marcel@holtmann.org>2009-09-05 17:36:17 +0200
commit13796884240b7919976a36c4b899f87a5558cb54 (patch)
tree4e5d6a23a0186806d1323e3947551f5b4022b432 /src/inet.c
parentfa39f02dfa7cf4703cc0ffc2f0dc5287ed263db9 (diff)
downloadconnman-13796884240b7919976a36c4b899f87a5558cb54.tar.gz
connman-13796884240b7919976a36c4b899f87a5558cb54.tar.bz2
connman-13796884240b7919976a36c4b899f87a5558cb54.zip
Use extra phy80211 directory check in case WEXT got disabled
Diffstat (limited to 'src/inet.c')
-rw-r--r--src/inet.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/inet.c b/src/inet.c
index a797c9d3..62f23d4a 100644
--- a/src/inet.c
+++ b/src/inet.c
@@ -309,6 +309,7 @@ enum connman_device_type __connman_inet_get_device_type(int index)
devname = ifr.ifr_name;
if (type == ARPHRD_ETHER) {
+ char phy80211_path[PATH_MAX];
char bonding_path[PATH_MAX];
char bridge_path[PATH_MAX];
char wimax_path[PATH_MAX];
@@ -316,6 +317,8 @@ enum connman_device_type __connman_inet_get_device_type(int index)
struct iwreq iwr;
char *devnode;
+ snprintf(phy80211_path, PATH_MAX,
+ "/sys/class/net/%s/phy80211", devname);
snprintf(bonding_path, PATH_MAX,
"/sys/class/net/%s/bonding", devname);
snprintf(bridge_path, PATH_MAX,
@@ -347,6 +350,8 @@ enum connman_device_type __connman_inet_get_device_type(int index)
devtype = CONNMAN_DEVICE_TYPE_UNKNOWN;
else if (stat(bonding_path, &st) == 0 && (st.st_mode & S_IFDIR))
devtype = CONNMAN_DEVICE_TYPE_UNKNOWN;
+ else if (stat(phy80211_path, &st) == 0 && (st.st_mode & S_IFDIR))
+ devtype = CONNMAN_DEVICE_TYPE_WIFI;
else if (ioctl(sk, SIOCGIWNAME, &iwr) == 0)
devtype = CONNMAN_DEVICE_TYPE_WIFI;
else