aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath6kl/wmi.c
diff options
context:
space:
mode:
authorVasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>2012-03-21 11:28:39 -0400
committerKalle Valo <kvalo@qca.qualcomm.com>2012-03-26 09:28:39 -0400
commit03bdeb0d545340f7c2768e11c294d067e76de8c9 (patch)
tree914f61c304ac2b39bf19408ed129db8c86e55fe4 /drivers/net/wireless/ath/ath6kl/wmi.c
parent0564161ea902c6c3e7e45ffd2df37bcb0d235acb (diff)
ath6kl: Configure inactivity timeout in fw
Configure the inactivity timeout passed in start_ap() to firmware. This capability is advertised only when fw supports it, there is a new bit (ATH6KL_FW_CAPABILITY_INACTIVITY_TIMEOUT) in firmware capability ie for driver to learn fw's capability. After the fw finds out the station is inactive, it will probe the station with null func frames. By default, the timeout is 10 secs. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath6kl/wmi.c')
-rw-r--r--drivers/net/wireless/ath/ath6kl/wmi.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath6kl/wmi.c b/drivers/net/wireless/ath/ath6kl/wmi.c
index 7654e8e286d3..b1b1f347a118 100644
--- a/drivers/net/wireless/ath/ath6kl/wmi.c
+++ b/drivers/net/wireless/ath/ath6kl/wmi.c
@@ -3395,6 +3395,23 @@ int ath6kl_wmi_cancel_remain_on_chnl_cmd(struct wmi *wmi, u8 if_idx)
3395 WMI_CANCEL_REMAIN_ON_CHNL_CMDID); 3395 WMI_CANCEL_REMAIN_ON_CHNL_CMDID);
3396} 3396}
3397 3397
3398int ath6kl_wmi_set_inact_period(struct wmi *wmi, u8 if_idx, int inact_timeout)
3399{
3400 struct sk_buff *skb;
3401 struct wmi_set_inact_period_cmd *cmd;
3402
3403 skb = ath6kl_wmi_get_new_buf(sizeof(*cmd));
3404 if (!skb)
3405 return -ENOMEM;
3406
3407 cmd = (struct wmi_set_inact_period_cmd *) skb->data;
3408 cmd->inact_period = cpu_to_le32(inact_timeout);
3409 cmd->num_null_func = 0;
3410
3411 return ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_AP_CONN_INACT_CMDID,
3412 NO_SYNC_WMIFLAG);
3413}
3414
3398static int ath6kl_wmi_control_rx_xtnd(struct wmi *wmi, struct sk_buff *skb) 3415static int ath6kl_wmi_control_rx_xtnd(struct wmi *wmi, struct sk_buff *skb)
3399{ 3416{
3400 struct wmix_cmd_hdr *cmd; 3417 struct wmix_cmd_hdr *cmd;