qcacmn: Bypass QBSS IE length check
Some old ap's QBSS IE length is 4Bytes, in latest 802.11e spec, the expected length is 5Bytes. If stop parsing beacon&probe with 4Bytes QBSS IE, DUT can't scan and connect with AP, so change it to bypass QBSS IE if AP uses the old format. Change-Id: Ib6727f5f77c5e5543e862277e1d2d35273f62d59 CRs-Fixed: 2257707
Šī revīzija ir iekļauta:

revīziju iesūtīja
nshrivas

vecāks
3dcbc895e0
revīzija
c5f0bd188c
@@ -524,8 +524,15 @@ util_scan_populate_bcn_ie_list(struct scan_cache_entry *scan_params)
|
|||||||
break;
|
break;
|
||||||
case WLAN_ELEMID_QBSS_LOAD:
|
case WLAN_ELEMID_QBSS_LOAD:
|
||||||
if (ie->ie_len != sizeof(struct qbss_load_ie) -
|
if (ie->ie_len != sizeof(struct qbss_load_ie) -
|
||||||
sizeof(struct ie_header))
|
sizeof(struct ie_header)) {
|
||||||
return QDF_STATUS_E_INVAL;
|
/*
|
||||||
|
* Expected QBSS IE length is 5Bytes; For some
|
||||||
|
* old cisco AP, QBSS IE length is 4Bytes, which
|
||||||
|
* doesn't match with latest spec, So ignore
|
||||||
|
* QBSS IE in such case.
|
||||||
|
*/
|
||||||
|
break;
|
||||||
|
}
|
||||||
scan_params->ie_list.qbssload = (uint8_t *)ie;
|
scan_params->ie_list.qbssload = (uint8_t *)ie;
|
||||||
break;
|
break;
|
||||||
case WLAN_ELEMID_CHANSWITCHANN:
|
case WLAN_ELEMID_CHANSWITCHANN:
|
||||||
|
Atsaukties uz šo jaunā problēmā
Block a user