ath10k: disable STA kickout in FW
authorMarek Puzyniak <marek.puzyniak@tieto.com>
Mon, 30 Dec 2013 08:07:51 +0000 (09:07 +0100)
committerKalle Valo <kvalo@qca.qualcomm.com>
Fri, 10 Jan 2014 09:43:47 +0000 (11:43 +0200)
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>
drivers/net/wireless/ath/ath10k/mac.c

index 5b45f3a8ec4020f5a73159c855c3d76bcf3612a1..2a4e7aa4611a44a051ec156f9c3f4d502ee3e439 100644 (file)
@@ -2205,7 +2205,7 @@ static int ath10k_add_interface(struct ieee80211_hw *hw,
        struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif);
        enum wmi_sta_powersave_param param;
        int ret = 0;
-       u32 value;
+       u32 value, param_id;
        int bit;
        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);
                        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) {