mesh: Remove HT IEs if HT is disabled
authorMasashi Honma <masashi.honma@gmail.com>
Thu, 21 Jul 2016 23:52:55 +0000 (08:52 +0900)
committerJouni Malinen <j@w1.fi>
Sat, 23 Jul 2016 19:04:16 +0000 (22:04 +0300)
Previously, HT capability IE and HT information IE were included in
Beacon and Mesh Peering Open/Confirm frames even if HT is disabled with
disable_ht=1. This patch removes these.

Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
src/drivers/driver_nl80211.c
wpa_supplicant/wpa_supplicant.c

index 0bbcd8a..be32c5d 100644 (file)
@@ -3788,6 +3788,12 @@ static int nl80211_put_freq_params(struct nl_msg *msg,
                wpa_printf(MSG_DEBUG, "  * channel_type=%d", ct);
                if (nla_put_u32(msg, NL80211_ATTR_WIPHY_CHANNEL_TYPE, ct))
                        return -ENOBUFS;
                wpa_printf(MSG_DEBUG, "  * channel_type=%d", ct);
                if (nla_put_u32(msg, NL80211_ATTR_WIPHY_CHANNEL_TYPE, ct))
                        return -ENOBUFS;
+       } else {
+               wpa_printf(MSG_DEBUG, "  * channel_type=%d",
+                          NL80211_CHAN_NO_HT);
+               if (nla_put_u32(msg, NL80211_ATTR_WIPHY_CHANNEL_TYPE,
+                               NL80211_CHAN_NO_HT))
+                       return -ENOBUFS;
        }
        return 0;
 }
        }
        return 0;
 }
index 6999bbb..7ed7efa 100644 (file)
@@ -1873,6 +1873,13 @@ void ibss_mesh_setup_freq(struct wpa_supplicant *wpa_s,
        if (!mode)
                return;
 
        if (!mode)
                return;
 
+#ifdef CONFIG_HT_OVERRIDES
+       if (ssid->disable_ht) {
+               freq->ht_enabled = 0;
+               return;
+       }
+#endif /* CONFIG_HT_OVERRIDES */
+
        freq->ht_enabled = ht_supported(mode);
        if (!freq->ht_enabled)
                return;
        freq->ht_enabled = ht_supported(mode);
        if (!freq->ht_enabled)
                return;