diff options
author | Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> | 2012-03-21 11:28:39 -0400 |
---|---|---|
committer | Kalle Valo <kvalo@qca.qualcomm.com> | 2012-03-26 09:28:39 -0400 |
commit | 03bdeb0d545340f7c2768e11c294d067e76de8c9 (patch) | |
tree | 914f61c304ac2b39bf19408ed129db8c86e55fe4 /drivers/net/wireless/ath/ath6kl/wmi.c | |
parent | 0564161ea902c6c3e7e45ffd2df37bcb0d235acb (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.c | 17 |
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 | ||
3398 | int 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 | |||
3398 | static int ath6kl_wmi_control_rx_xtnd(struct wmi *wmi, struct sk_buff *skb) | 3415 | static 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; |