OSDN Git Service

ath11k: set the BA buffer size to 256 when HE is enabled
authorPradeep Kumar Chitrapu <pradeepc@codeaurora.org>
Fri, 13 Dec 2019 15:34:57 +0000 (16:34 +0100)
committerKalle Valo <kvalo@codeaurora.org>
Wed, 18 Dec 2019 17:41:48 +0000 (19:41 +0200)
This patch sets the correct BA buffer size when we are in HE mode.
Without this change we are not able to receive 256 bitmapped BA frames.

Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Pradeep Kumar Chitrapu <pradeepc@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/ath11k/mac.c
drivers/net/wireless/ath/ath11k/wmi.h

index b8cae42..556eef9 100644 (file)
@@ -1758,6 +1758,20 @@ static void ath11k_mac_op_bss_info_changed(struct ieee80211_hw *hw,
                if (ret)
                        ath11k_warn(ar->ab, "failed to update bcn template: %d\n",
                                    ret);
+
+               if (vif->bss_conf.he_support) {
+                       ret = ath11k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id,
+                                                           WMI_VDEV_PARAM_BA_MODE,
+                                                           WMI_BA_MODE_BUFFER_SIZE_256);
+                       if (ret)
+                               ath11k_warn(ar->ab,
+                                           "failed to set BA BUFFER SIZE 256 for vdev: %d\n",
+                                           arvif->vdev_id);
+                       else
+                               ath11k_dbg(ar->ab, ATH11K_DBG_MAC,
+                                          "Set BA BUFFER SIZE 256 for VDEV: %d\n",
+                                          arvif->vdev_id);
+               }
        }
 
        if (changed & (BSS_CHANGED_BEACON_INFO | BSS_CHANGED_BEACON)) {
index ab983aa..58a1985 100644 (file)
@@ -54,6 +54,7 @@ struct wmi_tlv {
 #define WLAN_SCAN_PARAMS_MAX_BSSID   4
 #define WLAN_SCAN_PARAMS_MAX_IE_LEN  256
 
+#define WMI_BA_MODE_BUFFER_SIZE_256  3
 /*
  * HW mode config type replicated from FW header
  * @WMI_HOST_HW_MODE_SINGLE: Only one PHY is active.
@@ -1003,6 +1004,7 @@ enum wmi_tlv_vdev_param {
        WMI_VDEV_PARAM_HE_RANGE_EXT,
        WMI_VDEV_PARAM_ENABLE_BCAST_PROBE_RESPONSE,
        WMI_VDEV_PARAM_FILS_MAX_CHANNEL_GUARD_TIME,
+       WMI_VDEV_PARAM_BA_MODE = 0x7e,
        WMI_VDEV_PARAM_SET_HE_SOUNDING_MODE = 0x87,
        WMI_VDEV_PARAM_PROTOTYPE = 0x8000,
        WMI_VDEV_PARAM_BSS_COLOR,