浏览代码

ath10k: disable STA kickout in FW

Currently ath10k is not using STA KICKOUT firmware functionality.
In order to avoid unwanted WMI_PEER_STA_KICKOUT_EVENT event this functionality
should be disabled when not used.

Signed-off-by: Marek Puzyniak <marek.puzyniak@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Marek Puzyniak 11 年之前
父节点
当前提交
cdf074099b
共有 1 个文件被更改,包括 8 次插入1 次删除
  1. 8 1
      drivers/net/wireless/ath/ath10k/mac.c

+ 8 - 1
drivers/net/wireless/ath/ath10k/mac.c

@@ -2205,7 +2205,7 @@ static int ath10k_add_interface(struct ieee80211_hw *hw,
 	struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif);
 	struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif);
 	enum wmi_sta_powersave_param param;
 	enum wmi_sta_powersave_param param;
 	int ret = 0;
 	int ret = 0;
-	u32 value;
+	u32 value, param_id;
 	int bit;
 	int bit;
 	u32 vdev_param;
 	u32 vdev_param;
 
 
@@ -2297,6 +2297,13 @@ static int ath10k_add_interface(struct ieee80211_hw *hw,
 			ath10k_warn("Failed to create peer for AP: %d\n", ret);
 			ath10k_warn("Failed to create peer for AP: %d\n", ret);
 			goto err_vdev_delete;
 			goto err_vdev_delete;
 		}
 		}
+
+		param_id = ar->wmi.pdev_param->sta_kickout_th;
+
+		/* Disable STA KICKOUT functionality in FW */
+		ret = ath10k_wmi_pdev_set_param(ar, param_id, 0);
+		if (ret)
+			ath10k_warn("Failed to disable STA KICKOUT\n");
 	}
 	}
 
 
 	if (arvif->vdev_type == WMI_VDEV_TYPE_STA) {
 	if (arvif->vdev_type == WMI_VDEV_TYPE_STA) {