From 798b3182238c563bddfa19e9182fe58d36227881 Mon Sep 17 00:00:00 2001 From: Masashi Honma Date: Sat, 15 Nov 2014 10:35:27 +0900 Subject: [PATCH] mesh: Reduce none 11N Self-protected Action frame allocation size Signed-off-by: Natsuki Itaya Signed-off-by: Masashi Honma --- wpa_supplicant/mesh_mpm.c | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/wpa_supplicant/mesh_mpm.c b/wpa_supplicant/mesh_mpm.c index 460067278..99dbf5261 100644 --- a/wpa_supplicant/mesh_mpm.c +++ b/wpa_supplicant/mesh_mpm.c @@ -220,21 +220,28 @@ static void mesh_mpm_send_plink_action(struct wpa_supplicant *wpa_s, u8 ie_len, add_plid = 0; int ret; int ampe = conf->security & MESH_CONF_SEC_AMPE; + size_t buf_len; if (!sta) return; - buf = wpabuf_alloc(2 + /* capability info */ - 2 + /* AID */ - 2 + 8 + /* supported rates */ - 2 + (32 - 8) + - 2 + 32 + /* mesh ID */ - 2 + 7 + /* mesh config */ - 2 + 26 + /* HT capabilities */ - 2 + 22 + /* HT operation */ - 2 + 23 + /* peering management */ - 2 + 96 + /* AMPE */ - 2 + 16); /* MIC */ + buf_len = 2 + /* capability info */ + 2 + /* AID */ + 2 + 8 + /* supported rates */ + 2 + (32 - 8) + + 2 + 32 + /* mesh ID */ + 2 + 7 + /* mesh config */ + 2 + 23 + /* peering management */ + 2 + 96 + /* AMPE */ + 2 + 16; /* MIC */ +#ifdef CONFIG_IEEE80211N + if (type != PLINK_CLOSE && + wpa_s->current_ssid->mesh_ht_mode > CHAN_NO_HT) { + buf_len += 2 + 26 + /* HT capabilities */ + 2 + 22; /* HT operation */ + } +#endif /* CONFIG_IEEE80211N */ + buf = wpabuf_alloc(buf_len); if (!buf) return;