ATH10K Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Chun-Yeow Yeoh <yeohchunyeow@gmail.com>
To: ath10k@lists.infradead.org
Cc: kvalo@qca.qualcomm.com, linux-wireless@vger.kernel.org,
	Chun-Yeow Yeoh <yeohchunyeow@gmail.com>
Subject: [PATCH] ath10k: set the AP keepalive timer
Date: Thu, 16 Jan 2014 17:18:24 +0800	[thread overview]
Message-ID: <1389863904-7159-1-git-send-email-yeohchunyeow@gmail.com> (raw)

Set the AP keepalive timer as following:
ap_keepalive_min_idle_inactive_time_secs to 60 seconds
ap_keepalive_max_idle_inactive_time_secs to 120 seconds
ap_keepalive_max_unresponsive_time_secs to 300 seconds

This ensure that the WMI_PEER_STA_KICKOUT_EVENTID is triggered
by the FW only once the unresponsive timer is expired.

Tested with firmware version 999.999.0.636 but the timer
is still default to 100 seconds. Tested with firmware 
version 10.1.467-1, the timer is set according to 
ap_keepalive_max_unresponsive_time_secs.

Signed-off-by: Chun-Yeow Yeoh <yeohchunyeow@gmail.com>
---
 drivers/net/wireless/ath/ath10k/mac.c |   22 ++++++++++++++++++++++
 drivers/net/wireless/ath/ath10k/wmi.h |    3 +++
 2 files changed, 25 insertions(+)

diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
index 776e364..2141034 100644
--- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -2313,6 +2313,28 @@ static int ath10k_add_interface(struct ieee80211_hw *hw,
 		ret = ath10k_wmi_pdev_set_param(ar, param_id, 0);
 		if (ret)
 			ath10k_warn("Failed to disable STA KICKOUT\n");
+
+		/* Set the AP keepalive timer */
+		vdev_param =
+			ar->wmi.vdev_param->ap_keepalive_min_idle_inactive_time_secs;
+		ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, vdev_param,
+			WMI_VDEV_AP_KEEPALIVE_MIN_IDLE_INACTIVE_TIME_SECS);
+		if (ret)
+			ath10k_warn("Failed to set keepalive min idle timer\n");
+
+		vdev_param =
+			ar->wmi.vdev_param->ap_keepalive_max_idle_inactive_time_secs;
+		ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, vdev_param,
+			WMI_VDEV_AP_KEEPALIVE_MAX_IDLE_INACTIVE_TIME_SECS);
+		if (ret)
+			ath10k_warn("Failed to set keepalive max idle timer\n");
+
+		vdev_param =
+			ar->wmi.vdev_param->ap_keepalive_max_unresponsive_time_secs;
+		ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, vdev_param,
+			WMI_VDEV_AP_KEEPALIVE_MAX_UNRESPONSIVE_TIME_SECS);
+		if (ret)
+			ath10k_warn("Failed to set keepalive unresponsive timer\n");
 	}
 
 	if (arvif->vdev_type == WMI_VDEV_TYPE_STA) {
diff --git a/drivers/net/wireless/ath/ath10k/wmi.h b/drivers/net/wireless/ath/ath10k/wmi.h
index 4b5e7d3..7ce002a 100644
--- a/drivers/net/wireless/ath/ath10k/wmi.h
+++ b/drivers/net/wireless/ath/ath10k/wmi.h
@@ -3080,6 +3080,9 @@ struct wmi_vdev_param_map {
 };
 
 #define WMI_VDEV_PARAM_UNSUPPORTED 0
+#define WMI_VDEV_AP_KEEPALIVE_MIN_IDLE_INACTIVE_TIME_SECS 60
+#define WMI_VDEV_AP_KEEPALIVE_MAX_IDLE_INACTIVE_TIME_SECS 120
+#define WMI_VDEV_AP_KEEPALIVE_MAX_UNRESPONSIVE_TIME_SECS 300
 
 /* the definition of different VDEV parameters */
 enum wmi_vdev_param {
-- 
1.7.9.5


_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

             reply	other threads:[~2014-01-16  9:19 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-16  9:18 Chun-Yeow Yeoh [this message]
2014-01-16  9:27 ` [PATCH] ath10k: set the AP keepalive timer Kalle Valo
2014-01-16  9:32   ` Yeoh Chun-Yeow

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1389863904-7159-1-git-send-email-yeohchunyeow@gmail.com \
    --to=yeohchunyeow@gmail.com \
    --cc=ath10k@lists.infradead.org \
    --cc=kvalo@qca.qualcomm.com \
    --cc=linux-wireless@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox