mirror of
				https://git.kernel.org/pub/scm/network/wireless/iwd.git
				synced 2025-10-31 13:17:25 +01:00 
			
		
		
		
	station: fix OWE scan logic with autoconnect
station_set_scan_results takes an autoconnect flag which was being set true in both regular/quick autoconnect scans. Since OWE networks are processed after setting the scan results IWD could end up connecting to a network before all the OWE hidden networks are populated. To fix this regular/quick autoconnect results will set the flag to false, then process OWE networks, then start autoconnect. If any OWE network scans are pending station_autoconnect_start will fail but will pick back up after the hidden OWE scan.
This commit is contained in:
		
							parent
							
								
									ac78076663
								
							
						
					
					
						commit
						73cd3578d9
					
				| @ -1231,10 +1231,13 @@ static bool new_scan_results(int err, struct l_queue *bss_list, | ||||
| 	if (err) | ||||
| 		return false; | ||||
| 
 | ||||
| 	station_set_scan_results(station, bss_list, freqs, true); | ||||
| 	station_set_scan_results(station, bss_list, freqs, false); | ||||
| 
 | ||||
| 	station_process_owe_transition_networks(station); | ||||
| 
 | ||||
| 	station->autoconnect_can_start = true; | ||||
| 	station_autoconnect_start(station); | ||||
| 
 | ||||
| 	return true; | ||||
| } | ||||
| 
 | ||||
| @ -1303,10 +1306,13 @@ static bool station_quick_scan_results(int err, struct l_queue *bss_list, | ||||
| 	if (err) | ||||
| 		goto done; | ||||
| 
 | ||||
| 	station_set_scan_results(station, bss_list, freqs, true); | ||||
| 	station_set_scan_results(station, bss_list, freqs, false); | ||||
| 
 | ||||
| 	station_process_owe_transition_networks(station); | ||||
| 
 | ||||
| 	station->autoconnect_can_start = true; | ||||
| 	station_autoconnect_start(station); | ||||
| 
 | ||||
| done: | ||||
| 	if (station->state == STATION_STATE_AUTOCONNECT_QUICK) | ||||
| 		/*
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 James Prestwood
						James Prestwood