Regression related to supp_op_class code.

Message ID 275b612f-daaa-3b3f-2c7e-71230ddc729a@candelatech.com
State New
Headers show
Series
  • Regression related to supp_op_class code.
Related show

Commit Message

Ben Greear Aug. 24, 2018, 2:32 a.m.
I believe I have bisected my weird problem.

Remove MBO dependency from Supported Operating Classes element
is the first bad commit.  It seems to make at least some qualcom
APs with /b/g/n chipset unhappy.  If I #ifdef out the code, then
today's top-of-tree connects to the AP reliably.  Without it, it
connects rarely if at all.  I don't know that this is actually a bug
in supplicant, maybe it just triggers a bug in the AP.

[greearb@v-f27-64 wpa_supplicant]$ git diff
[greearb@v-f27-64 wpa_supplicant]$


At the least, would an option to disable this IE be acceptable?  I know the
supplicant can reliably connect to a lot of APs, but this may become a more
visible problem with Fedora and such move past the 2.6 supplicant release.

Thanks,
Ben

Patch

diff --git a/wpa_supplicant/sme.c b/wpa_supplicant/sme.c
index d57195f15..9b7ba8388 100644
--- a/wpa_supplicant/sme.c
+++ b/wpa_supplicant/sme.c
@@ -477,10 +477,12 @@  static void sme_send_authentication(struct wpa_supplicant *wpa_s,

         sme_auth_handle_rrm(wpa_s, bss);

+#if 0
         wpa_s->sme.assoc_req_ie_len += wpas_supp_op_class_ie(
                 wpa_s, bss->freq,
                 wpa_s->sme.assoc_req_ie + wpa_s->sme.assoc_req_ie_len,
                 sizeof(wpa_s->sme.assoc_req_ie) - wpa_s->sme.assoc_req_ie_len);
+#endif

         if (params.p2p)
                 wpa_drv_get_ext_capa(wpa_s, WPA_IF_P2P_CLIENT);
diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c
index 0c090a93c..fd26dd9b0 100644
--- a/wpa_supplicant/wpa_supplicant.c
+++ b/wpa_supplicant/wpa_supplicant.c
@@ -2603,12 +2603,14 @@  static u8 * wpas_populate_assoc_ies(
         os_memset(wpa_s->p2p_ip_addr_info, 0, sizeof(wpa_s->p2p_ip_addr_info));
  #endif /* CONFIG_P2P */

+#if 0
         if (bss) {
                 wpa_ie_len += wpas_supp_op_class_ie(wpa_s, bss->freq,
                                                     wpa_ie + wpa_ie_len,
                                                     max_wpa_ie_len -
                                                     wpa_ie_len);
         }
+#endif

         /*
          * Workaround: Add Extended Capabilities element only if the AP