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
diff --git a/umac/scan/dispatcher/src/wlan_scan_utils_api.c b/umac/scan/dispatcher/src/wlan_scan_utils_api.c
index eac7c1f..2efaecb 100644
--- a/umac/scan/dispatcher/src/wlan_scan_utils_api.c
+++ b/umac/scan/dispatcher/src/wlan_scan_utils_api.c
@@ -524,8 +524,15 @@
 			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: