diff options
Diffstat (limited to 'gsupplicant')
-rw-r--r-- | gsupplicant/gsupplicant.h | 1 | ||||
-rw-r--r-- | gsupplicant/supplicant.c | 8 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gsupplicant/gsupplicant.h b/gsupplicant/gsupplicant.h index 4e0118d9..790cfedc 100644 --- a/gsupplicant/gsupplicant.h +++ b/gsupplicant/gsupplicant.h @@ -95,6 +95,7 @@ typedef enum { typedef enum { G_SUPPLICANT_STATE_UNKNOWN, + G_SUPPLICANT_STATE_DISABLED, G_SUPPLICANT_STATE_DISCONNECTED, G_SUPPLICANT_STATE_INACTIVE, G_SUPPLICANT_STATE_SCANNING, diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c index be429586..477106b1 100644 --- a/gsupplicant/supplicant.c +++ b/gsupplicant/supplicant.c @@ -287,6 +287,8 @@ static GSupplicantState string2state(const char *state) if (g_str_equal(state, "unknown") == TRUE) return G_SUPPLICANT_STATE_UNKNOWN; + else if (g_str_equal(state, "interface_disabled") == TRUE) + return G_SUPPLICANT_STATE_DISABLED; else if (g_str_equal(state, "disconnected") == TRUE) return G_SUPPLICANT_STATE_DISCONNECTED; else if (g_str_equal(state, "inactive") == TRUE) @@ -1681,7 +1683,6 @@ static void interface_property(const char *key, DBusMessageIter *iter, debug_strvalmap("Mode capability", mode_capa_map, interface->mode_capa); - interface->ready = TRUE; callback_interface_added(interface); return; } @@ -1698,6 +1699,10 @@ static void interface_property(const char *key, DBusMessageIter *iter, interface->state = string2state(str); callback_interface_state(interface); } + if (interface->state == G_SUPPLICANT_STATE_DISABLED) + interface->ready = FALSE; + else + interface->ready = TRUE; SUPPLICANT_DBG("state %s (%d)", str, interface->state); } else if (g_strcmp0(key, "Scanning") == 0) { @@ -2857,6 +2862,7 @@ int g_supplicant_interface_scan(GSupplicantInterface *interface, case G_SUPPLICANT_STATE_GROUP_HANDSHAKE: return -EBUSY; case G_SUPPLICANT_STATE_UNKNOWN: + case G_SUPPLICANT_STATE_DISABLED: case G_SUPPLICANT_STATE_DISCONNECTED: case G_SUPPLICANT_STATE_INACTIVE: case G_SUPPLICANT_STATE_SCANNING: |