ath10k: push peer type to target for TDLS peers
authorManikanta Pubbisetty <mpubbise@qti.qualcomm.com>
Fri, 28 Jul 2017 12:15:43 +0000 (15:15 +0300)
committerKalle Valo <kvalo@qca.qualcomm.com>
Thu, 3 Aug 2017 11:36:40 +0000 (14:36 +0300)
WMI interface for all the firmwares(except QCA6174) does not include the
type of peer(default/bss/tdls) requested during peer creation, therefore
target creates a default peer.

TDLS implementation on 10.4 firmware requires host to configure the
peer type(tdls) for TDLS peers. This patch adds peer type parameter to the
existing WMI interface for peer creation to accommodate this requirement.

Tested this change on QCA9888(10.4-3.5.1-00018) and QCA988x(10.2.4.70.9-2)
with ping tests for AP/STA modes.

Signed-off-by: Manikanta Pubbisetty <mpubbise@qti.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath10k/wmi.c
drivers/net/wireless/ath/ath10k/wmi.h

index a09e6bcfb52f9b2ca0b61759a4803ddab072d12d..38a97086708b53a6dd6274d0cc70721f77bfec59 100644 (file)
@@ -6498,6 +6498,7 @@ ath10k_wmi_op_gen_peer_create(struct ath10k *ar, u32 vdev_id,
        cmd = (struct wmi_peer_create_cmd *)skb->data;
        cmd->vdev_id = __cpu_to_le32(vdev_id);
        ether_addr_copy(cmd->peer_macaddr.addr, peer_addr);
+       cmd->peer_type = __cpu_to_le32(peer_type);
 
        ath10k_dbg(ar, ATH10K_DBG_WMI,
                   "wmi peer create vdev_id %d peer_addr %pM\n",
index 60d2bb04504207d5b207ad25412bac47b5a9c5a9..7a3606dde2278d53c06d06e4cd56d0750268b0ca 100644 (file)
@@ -5877,6 +5877,7 @@ struct wmi_tbtt_offset_event {
 struct wmi_peer_create_cmd {
        __le32 vdev_id;
        struct wmi_mac_addr peer_macaddr;
+       __le32 peer_type;
 } __packed;
 
 enum wmi_peer_type {