From 838225f2319348e430b553fd9bb3680bd7434ae3 Mon Sep 17 00:00:00 2001
From: Peter Oh <peter.oh@bowerswilkins.com>
Date: Wed, 18 Apr 2018 14:14:18 -0700
Subject: [PATCH 1/2] mesh: add VHT_CHANWIDTH_USE_HT to max_oper_chwidth

Channel width in VHT mode refers HT capability when
the width goes down to below 80MHz, hence add checking
HT channel width to its max operation channel width.
So that mesh has capable to select bandwidth below 80Mhz.

Signed-off-by: Peter Oh <peter.oh@bowerswilkins.com>
---
 wpa_supplicant/config.c         | 1 +
 wpa_supplicant/config_ssid.h    | 1 +
 wpa_supplicant/wpa_supplicant.c | 3 +++
 3 files changed, 5 insertions(+)

--- a/wpa_supplicant/config.c
+++ b/wpa_supplicant/config.c
@@ -2802,6 +2802,7 @@ void wpa_config_set_network_defaults(str
 	ssid->mka_priority = DEFAULT_PRIO_NOT_KEY_SERVER;
 #endif /* CONFIG_MACSEC */
 	ssid->mac_addr = -1;
+	ssid->max_oper_chwidth = (u8)DEFAULT_MAX_OPER_CHWIDTH;
 }
 
 
--- a/wpa_supplicant/config_ssid.h
+++ b/wpa_supplicant/config_ssid.h
@@ -37,6 +37,7 @@
 #define DEFAULT_AMPDU_FACTOR -1 /* no change */
 #define DEFAULT_AMPDU_DENSITY -1 /* no change */
 #define DEFAULT_USER_SELECTED_SIM 1
+#define DEFAULT_MAX_OPER_CHWIDTH -1
 
 struct psk_list_entry {
 	struct dl_list list;
--- a/wpa_supplicant/wpa_supplicant.c
+++ b/wpa_supplicant/wpa_supplicant.c
@@ -2312,6 +2312,9 @@ void ibss_mesh_setup_freq(struct wpa_sup
 			vht_caps |= VHT_CAP_SUPP_CHAN_WIDTH_160MHZ;
 			seg0 = 114;
 		}
+	} else if (ssid->max_oper_chwidth == VHT_CHANWIDTH_USE_HT) {
+		chwidth = VHT_CHANWIDTH_USE_HT;
+		seg0 = vht80[j] + 2;
 	}
 
 	if (hostapd_set_freq_params(&vht_freq, mode->mode, freq->freq,
