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
这个提交包含在:
Jingxiang Ge
2018-06-13 18:00:02 +08:00
提交者 nshrivas
父节点 3dcbc895e0
当前提交 c5f0bd188c

查看文件

@@ -524,8 +524,15 @@ util_scan_populate_bcn_ie_list(struct scan_cache_entry *scan_params)
break;
case WLAN_ELEMID_QBSS_LOAD:
if (ie->ie_len != sizeof(struct qbss_load_ie) -
sizeof(struct ie_header))
return QDF_STATUS_E_INVAL;
sizeof(struct ie_header)) {
/*
* 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;
break;
case WLAN_ELEMID_CHANSWITCHANN: