mirror of
				https://git.kernel.org/pub/scm/network/wireless/iwd.git
				synced 2025-10-31 13:17:25 +01:00 
			
		
		
		
	station: fix unintended netconfig_reset pre-roaming
Commit 23f0f5717c did not correctly handle the reassociation
case where the state is set from within station_try_next_transition.
If IWD reassociates netconfig will get reset and DHCP will need to
be done over again after the roam. Instead get the state ahead of
station_try_next_transition.
Fixes: 23f0f5717ca0 ("station: allow roaming before netconfig finishes")
			
			
This commit is contained in:
		
							parent
							
								
									2c7bf2756e
								
							
						
					
					
						commit
						ccb29663cc
					
				| @ -2470,6 +2470,7 @@ static void station_transition_start(struct station *station) | ||||
| { | ||||
| 	struct roam_bss *rbss; | ||||
| 	bool roaming = false; | ||||
| 	bool connected = (station->state == STATION_STATE_CONNECTED); | ||||
| 
 | ||||
| 	/*
 | ||||
| 	 * For each failed attempt pop the BSS leaving the head of the queue | ||||
| @ -2498,7 +2499,7 @@ static void station_transition_start(struct station *station) | ||||
| 	 * still should roam in this case but need to restart netconfig once the | ||||
| 	 * roam is finished. | ||||
| 	 */ | ||||
| 	if (station->netconfig && station->state != STATION_STATE_CONNECTED) { | ||||
| 	if (station->netconfig && !connected) { | ||||
| 		netconfig_reset(station->netconfig); | ||||
| 		station->netconfig_after_roam = true; | ||||
| 	} | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 James Prestwood
						James Prestwood