qtnfmac: include HTCAP and VHTCAP into config AP command
authorIgor Mitsyanko <igor.mitsyanko.os@quantenna.com>
Tue, 31 Oct 2017 01:04:54 +0000 (18:04 -0700)
committerKalle Valo <kvalo@codeaurora.org>
Fri, 10 Nov 2017 02:30:58 +0000 (04:30 +0200)
Include HT/VHT caps directly into command so that they won't have
to be searched for in IEs.

Signed-off-by: Igor Mitsyanko <igor.mitsyanko.os@quantenna.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/quantenna/qtnfmac/commands.c

index 5186116..c2f0b75 100644 (file)
@@ -266,6 +266,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->vht_cap, sizeof(*s->vht_cap));
+       }
+
        qtnf_bus_lock(vif->mac->bus);
 
        ret = qtnf_cmd_send(vif->mac->bus, cmd_skb, &res_code);