19 lines
		
	
	
		
			573 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			19 lines
		
	
	
		
			573 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
| Some misconfigured APs broadcast NULL BSSIDs, which can confuse the STA
 | |
| Ignore those when scanning.
 | |
| 
 | |
| Signed-off-by: Felix Fietkau <nbd@openwrt.org>
 | |
| 
 | |
| --- a/net80211/ieee80211_scan_sta.c
 | |
| +++ b/net80211/ieee80211_scan_sta.c
 | |
| @@ -242,6 +242,10 @@ sta_add(struct ieee80211_scan_state *ss,
 | |
|  	struct ieee80211_scan_entry *ise;
 | |
|  	int hash;
 | |
|  
 | |
| +	/* workaround for broken APs that broadcast NULL BSSIDs */
 | |
| +	if (memcmp(wh->i_addr3, "\x00\x00\x00\x00\x00\x00", 6) == 0)
 | |
| +		return 0;
 | |
| +
 | |
|  	hash = STA_HASH(macaddr);
 | |
|  	SCAN_STA_LOCK_IRQ(st);
 | |
|  	LIST_FOREACH(se, &st->st_hash[hash], se_hash)
 |