mirror of
				https://git.kernel.org/pub/scm/network/wireless/iwd.git
				synced 2025-10-31 04:57:25 +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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 James Prestwood
						James Prestwood