typedef enum {
G_SUPPLICANT_STATE_UNKNOWN,
+ G_SUPPLICANT_STATE_DISABLED,
G_SUPPLICANT_STATE_DISCONNECTED,
G_SUPPLICANT_STATE_INACTIVE,
G_SUPPLICANT_STATE_SCANNING,
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)
debug_strvalmap("Mode capability", mode_capa_map,
interface->mode_capa);
- interface->ready = TRUE;
callback_interface_added(interface);
return;
}
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) {
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:
switch (wifi->state) {
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:
* actually means that we are idling. */
switch (wifi->state) {
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:
break;
case G_SUPPLICANT_STATE_UNKNOWN:
+ case G_SUPPLICANT_STATE_DISABLED:
case G_SUPPLICANT_STATE_ASSOCIATED:
case G_SUPPLICANT_STATE_4WAY_HANDSHAKE:
case G_SUPPLICANT_STATE_GROUP_HANDSHAKE: