[PATCH 26/27] qtnfmac: include HTCAP and VHTCAP into config AP command
From: <hidden>
Date: 2017-08-25 02:31:12
Subsystem:
quantenna qtnfmac wireless driver, the rest · Maintainers:
Igor Mitsyanko, Linus Torvalds
From: <hidden>
Date: 2017-08-25 02:31:12
Subsystem:
quantenna qtnfmac wireless driver, the rest · Maintainers:
Igor Mitsyanko, Linus Torvalds
From: Igor Mitsyanko <redacted> Include HT/VHT caps directly into command so that they won't have to be searched for in IEs. Signed-off-by: Igor Mitsyanko <redacted> --- drivers/net/wireless/quantenna/qtnfmac/commands.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)
diff --git a/drivers/net/wireless/quantenna/qtnfmac/commands.c b/drivers/net/wireless/quantenna/qtnfmac/commands.c
index 1965061..dde2013 100644
--- a/drivers/net/wireless/quantenna/qtnfmac/commands.c
+++ b/drivers/net/wireless/quantenna/qtnfmac/commands.c@@ -265,6 +265,24 @@ int qtnf_cmd_send_start_ap(struct qtnf_vif *vif, s->beacon.assocresp_ies, s->beacon.assocresp_ies_len); + if (s->ht_cap) { + struct qlink_tlv_hdr *tlv = (struct qlink_tlv_hdr *) + skb_put(cmd_skb, sizeof(*tlv) + sizeof(*s->ht_cap)); + + tlv->type = cpu_to_le16(WLAN_EID_HT_CAPABILITY); + tlv->len = cpu_to_le16(sizeof(*s->ht_cap)); + memcpy(tlv->val, s->ht_cap, sizeof(*s->ht_cap)); + } + + if (s->vht_cap) { + struct qlink_tlv_hdr *tlv = (struct qlink_tlv_hdr *) + skb_put(cmd_skb, sizeof(*tlv) + sizeof(*s->vht_cap)); + + tlv->type = cpu_to_le16(WLAN_EID_VHT_CAPABILITY); + tlv->len = cpu_to_le16(sizeof(*s->vht_cap)); + memcpy(tlv->val, s->ht_cap, sizeof(*s->vht_cap)); + } + qtnf_bus_lock(vif->mac->bus); ret = qtnf_cmd_send(vif->mac->bus, cmd_skb, &res_code);
--
2.9.5