mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-11-21 22:09:23 +01:00
station: add additional internal state, STATION_STATE_NETCONFIG
This is still treated as "connecting" from a DBus perspective but will allow for better handling internally for some roaming corner cases.
This commit is contained in:
parent
407a8a4441
commit
8f7443b0b3
@ -3761,6 +3761,7 @@ static void dpp_station_state_watch(enum station_state state, void *user_data)
|
||||
case STATION_STATE_CONNECTING:
|
||||
case STATION_STATE_CONNECTED:
|
||||
case STATION_STATE_CONNECTING_AUTO:
|
||||
case STATION_STATE_NETCONFIG:
|
||||
if (L_WARN_ON(dpp->role == DPP_CAPABILITY_CONFIGURATOR))
|
||||
dpp_reset(dpp);
|
||||
|
||||
|
@ -1497,6 +1497,8 @@ static const char *station_state_to_string(enum station_state state)
|
||||
return "ft-roaming";
|
||||
case STATION_STATE_FW_ROAMING:
|
||||
return "fw-roaming";
|
||||
case STATION_STATE_NETCONFIG:
|
||||
return "connecting (netconfig)";
|
||||
}
|
||||
|
||||
return "invalid";
|
||||
@ -1635,6 +1637,7 @@ static void station_enter_state(struct station *station,
|
||||
station_set_drop_unicast_l2_multicast(station, false);
|
||||
break;
|
||||
case STATION_STATE_DISCONNECTING:
|
||||
case STATION_STATE_NETCONFIG:
|
||||
break;
|
||||
case STATION_STATE_ROAMING:
|
||||
case STATION_STATE_FT_ROAMING:
|
||||
@ -3342,6 +3345,7 @@ static void station_disconnect_event(struct station *station, void *event_data)
|
||||
case STATION_STATE_CONNECTED:
|
||||
case STATION_STATE_FT_ROAMING:
|
||||
case STATION_STATE_FW_ROAMING:
|
||||
case STATION_STATE_NETCONFIG:
|
||||
station_disassociated(station);
|
||||
return;
|
||||
default:
|
||||
@ -4272,6 +4276,7 @@ static bool station_property_get_state(struct l_dbus *dbus,
|
||||
break;
|
||||
case STATION_STATE_CONNECTING:
|
||||
case STATION_STATE_CONNECTING_AUTO:
|
||||
case STATION_STATE_NETCONFIG:
|
||||
statestr = "connecting";
|
||||
break;
|
||||
case STATION_STATE_CONNECTED:
|
||||
|
@ -45,6 +45,7 @@ enum station_state {
|
||||
STATION_STATE_ROAMING, /* Reassociation */
|
||||
STATION_STATE_FT_ROAMING, /* Fast transition */
|
||||
STATION_STATE_FW_ROAMING, /* Firmware roamed by itself */
|
||||
STATION_STATE_NETCONFIG,
|
||||
};
|
||||
|
||||
enum station_event {
|
||||
|
Loading…
Reference in New Issue
Block a user