diff mbox series

Issue: Non-HE capable interface advertising HE

Message ID VI1PR04MB5917BBAC260D19C9E67B9FF98D949@VI1PR04MB5917.eurprd04.prod.outlook.com
State Changes Requested
Headers show
Series Issue: Non-HE capable interface advertising HE | expand

Commit Message

Deepti Panchal July 26, 2022, 10:39 a.m. UTC
This mail describes the purpose of the attached "hostapd" patch.
The patch avoids issue when there is mismatch between user's 11ax config and DRV capability

Behavior (without the patch):
==========================
    Non-HE capable interface advertising HE IEs/Capabilities in Beacon/Probe Response/Association Response frames if "ieee80211ax=1" configuration is used

Patch Description:
================
    1. The HE capability for an AP iface was read from the driver, but was not used to update the "drv_flags" for the interface
    2. Change is now added to update the HE capability in the "drv_flags" of the interface
    3. If the interface does not support HE capability, the "iface->conf->ieee80211ax" flag is set to 0
    4. Now Beacons/Probe response/Association Response will advertise HE capabilities ONLY if the interface is HE capable

Patch Verification:
=================
1.      For Intel and NXP non-11ax/HE capable chip/interface, when "ieee80211ax=1" is used in the config file, NO HE IEs are added in the Beacon/Probe Response/Association Response frames
2.      For NXP 11ax/HE capable chips, the HE IEs get added correctly to the required MGMT frames

====================================================================
From e19bf318ce2a27ccc03f72023b2fc7f1bf6cd496 Mon Sep 17 00:00:00 2001
From: Deepti Panchal <deepti.panchal@nxp.com>
Date: Mon, 18 Jul 2022 15:59:10 +0530
Subject: [PATCH] Issue: Non-HE capable interface advertising HE  IEs/Capabilities in Beacon/Probe Response/Association Response frames if  "ieee80211ax=1" configuration is used

Change Description:
    1. The HE capability for an AP iface was read from the driver, but was not used to update the "drv_flags" for the iface
    2. Change is now added to update the HE capability in the "drv_flags" of the interface
    3. If the interface does not support HE capability, the "iface->conf->ieee80211ax" flag is set to 0
    4. Hence now Beacons/Probe response/Association Response will advertise HE capabilities ONLY if the interface is HE capable
---
 src/ap/hw_features.c | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

http://lists.infradead.org/mailman/listinfo/hostap
diff mbox series

Patch

diff --git a/src/ap/hw_features.c b/src/ap/hw_features.c index ed5ff41d3..87d7b52bd 100644
--- a/src/ap/hw_features.c
+++ b/src/ap/hw_features.c
@@ -679,7 +679,19 @@  static int ieee80211ac_supported_vht_capab(struct hostapd_iface *iface)  #ifdef CONFIG_IEEE80211AX  static int ieee80211ax_supported_he_capab(struct hostapd_iface *iface)  {
-	return 1;
+    struct hostapd_hw_modes *mode = iface->current_mode;
+    struct he_capabilities *he_cap = 
+ &(mode->he_capab[IEEE80211_MODE_AP]);
+
+    /* Check iface HE capability, update drv_flags and HE config setting */
+    if (he_cap && he_cap->he_supported) {
+        wpa_printf(MSG_DEBUG, "iface hw he_supported: %d", he_cap->he_supported);
+        iface->drv_flags |= WPA_DRIVER_FLAGS_HE_CAPABILITIES;
+    } else {
+        wpa_printf(MSG_DEBUG, "iface does not support HE capability");
+        iface->conf->ieee80211ax = 0;
+    }
+
+    return 1;
 }
 #endif /* CONFIG_IEEE80211AX */

_______________________________________________
Hostap mailing list
Hostap@lists.infradead.org