wlan-ap-Telecominfraproject/feeds/ipq95xx/hostapd/patches/q02-051-hostapd-Add-element-ID-extension-as-part-of-non-inhe.patch
John Crispin b9b03a6e38 ipq95xx: add Qualcomm wifi-7 support
Signed-off-by: John Crispin <john@phrozen.org>
2023-04-10 14:25:48 +02:00

50 lines
1.7 KiB
Diff

From 1adb9ef3ff48623365196c59a98b9a5ac03e012c Mon Sep 17 00:00:00 2001
Author: Sowmiya Sree Elavalagan <quic_ssreeela@quicinc.com>
Date: Mon Mar 21 22:02:03 2022 +0530
Subject: [PATCH] hostapd: Add element ID extension as part of non-inheritance
IE for mbssid.
Certain clients do not scan all non tx profiles due to absence of
element ID extension list which is mandatory field in non inheritance
IE. Non inheritance Element ID is followed by extension element ID.
Length is expected to be mentioned. Currently we do not support any
extension element and hence filling length as 0.
Signed-off-by: Sowmiya Sree Elavalagan <quic_ssreeela@quicinc.com>
Signed-off-by: Ramya Gnanasekar <quic_rgnanase@quicinc.com>
diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c
index 8a6fed8..5b814ba 100644
--- a/src/ap/ieee802_11.c
+++ b/src/ap/ieee802_11.c
@@ -7819,6 +7819,8 @@ static size_t hostapd_eid_mbssid_elem_len(struct hostapd_data *hapd,
if (ie_count)
nontx_profile_len += (4 + ie_count);
+ nontx_profile_len += 1; /*Extension element ID length */
+
if ((len + nontx_profile_len) > 255)
goto mbssid_too_big;
@@ -7974,11 +7976,16 @@ static u8 * hostapd_eid_mbssid_elem(struct hostapd_data *hapd, u8 *eid, u8 *end,
}
if (ie_count) {
*eid++ = WLAN_EID_EXTENSION;
- *eid++ = 2 + ie_count;
+ *eid++ = 3 + ie_count;
*eid++ = WLAN_EID_EXT_NON_INHERITANCE;
*eid++ = ie_count;
os_memcpy(eid, non_inherit_ie, ie_count);
eid += ie_count;
+ /* Element ID extension list is mandatory part of non inheritance IE.
+ * It has a length field followed by extension IEs. Currently no
+ * extension IEs are supported so filling length as 0.
+ */
+ *eid++ = 0;
}
*eid_len_pos = (eid - eid_len_pos) - 1;
--
2.17.1