Explorar el Código

qcacmn: Fix FILS realm scan filter implementation

The FILS realm scan filter validates the fils realm
provided in connect request against the realm present in the
fils indication element. But according to the 802.11 standard
the AP can advertise the realm count as 0 and choose not
to advertise any realm ID. So the connection to that AP
fails as the BSSID gets filtered from scan results during
candidate selection due to realm mismatch.

Allow connection with FILS AP when the AP doesn't advertise
realm

Change-Id: I7fbaf27a9ba346e105af44d77318c485f55a74ab
CRs-Fixed: 3341993
Pragaspathi Thilagaraj hace 2 años
padre
commit
489c00957c
Se han modificado 1 ficheros con 7 adiciones y 0 borrados
  1. 7 0
      umac/scan/core/src/wlan_scan_filter.c

+ 7 - 0
umac/scan/core/src/wlan_scan_filter.c

@@ -628,6 +628,13 @@ static bool scm_is_fils_config_match(struct scan_filter *filter,
 	indication_ie =
 		(struct fils_indication_ie *)db_entry->ie_list.fils_indication;
 
+	/*
+	 * Don't validate the realm, if AP advertises realm count as 0
+	 * in the FILS indication element
+	 */
+	if (!indication_ie->realm_identifiers_cnt)
+		return true;
+
 	end_ptr = (uint8_t *)indication_ie + indication_ie->len + 2;
 	data = indication_ie->variable_data;