aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/ath/ath6kl/cfg80211.c1
-rw-r--r--drivers/net/wireless/ath/ath6kl/core.c2
-rw-r--r--drivers/net/wireless/ath/ath6kl/core.h6
-rwxr-xr-xdrivers/net/wireless/ath/ath6kl/debug.c15
-rw-r--r--drivers/net/wireless/ath/ath6kl/main.c6
5 files changed, 16 insertions, 14 deletions
diff --git a/drivers/net/wireless/ath/ath6kl/cfg80211.c b/drivers/net/wireless/ath/ath6kl/cfg80211.c
index d877a9766b40..8d6bb323bb74 100644
--- a/drivers/net/wireless/ath/ath6kl/cfg80211.c
+++ b/drivers/net/wireless/ath/ath6kl/cfg80211.c
@@ -3033,6 +3033,7 @@ struct net_device *ath6kl_interface_add(struct ath6kl *ar, char *name,
3033 vif->wdev.iftype = type; 3033 vif->wdev.iftype = type;
3034 vif->fw_vif_idx = fw_vif_idx; 3034 vif->fw_vif_idx = fw_vif_idx;
3035 vif->nw_type = vif->next_mode = nw_type; 3035 vif->nw_type = vif->next_mode = nw_type;
3036 vif->listen_intvl_t = ATH6KL_DEFAULT_LISTEN_INTVAL;
3036 3037
3037 memcpy(ndev->dev_addr, ar->mac_addr, ETH_ALEN); 3038 memcpy(ndev->dev_addr, ar->mac_addr, ETH_ALEN);
3038 if (fw_vif_idx != 0) 3039 if (fw_vif_idx != 0)
diff --git a/drivers/net/wireless/ath/ath6kl/core.c b/drivers/net/wireless/ath/ath6kl/core.c
index bc3a41447b8e..2dc05479b512 100644
--- a/drivers/net/wireless/ath/ath6kl/core.c
+++ b/drivers/net/wireless/ath/ath6kl/core.c
@@ -228,9 +228,7 @@ struct ath6kl *ath6kl_core_create(struct device *dev)
228 clear_bit(SKIP_SCAN, &ar->flag); 228 clear_bit(SKIP_SCAN, &ar->flag);
229 clear_bit(DESTROY_IN_PROGRESS, &ar->flag); 229 clear_bit(DESTROY_IN_PROGRESS, &ar->flag);
230 230
231 ar->listen_intvl_b = A_DEFAULT_LISTEN_INTERVAL;
232 ar->tx_pwr = 0; 231 ar->tx_pwr = 0;
233
234 ar->intra_bss = 1; 232 ar->intra_bss = 1;
235 ar->lrssi_roam_threshold = DEF_LRSSI_ROAM_THRESHOLD; 233 ar->lrssi_roam_threshold = DEF_LRSSI_ROAM_THRESHOLD;
236 234
diff --git a/drivers/net/wireless/ath/ath6kl/core.h b/drivers/net/wireless/ath/ath6kl/core.h
index 31f13d7a0430..727267eb8313 100644
--- a/drivers/net/wireless/ath/ath6kl/core.h
+++ b/drivers/net/wireless/ath/ath6kl/core.h
@@ -60,8 +60,6 @@
60#define MAX_DEFAULT_SEND_QUEUE_DEPTH (MAX_DEF_COOKIE_NUM / WMM_NUM_AC) 60#define MAX_DEFAULT_SEND_QUEUE_DEPTH (MAX_DEF_COOKIE_NUM / WMM_NUM_AC)
61 61
62#define DISCON_TIMER_INTVAL 10000 /* in msec */ 62#define DISCON_TIMER_INTVAL 10000 /* in msec */
63#define A_DEFAULT_LISTEN_INTERVAL 1 /* beacon intervals */
64#define A_MAX_WOW_LISTEN_INTERVAL 1000
65 63
66/* Channel dwell time in fg scan */ 64/* Channel dwell time in fg scan */
67#define ATH6KL_FG_SCAN_INTERVAL 50 /* in ms */ 65#define ATH6KL_FG_SCAN_INTERVAL 50 /* in ms */
@@ -187,6 +185,8 @@ struct ath6kl_fw_ie {
187 185
188#define MBOX_YIELD_LIMIT 99 186#define MBOX_YIELD_LIMIT 99
189 187
188#define ATH6KL_DEFAULT_LISTEN_INTVAL 100 /* in TUs */
189
190/* configuration lags */ 190/* configuration lags */
191/* 191/*
192 * ATH6KL_CONF_IGNORE_ERP_BARKER: Ignore the barker premable in 192 * ATH6KL_CONF_IGNORE_ERP_BARKER: Ignore the barker premable in
@@ -510,6 +510,7 @@ struct ath6kl_vif {
510 bool probe_req_report; 510 bool probe_req_report;
511 u16 next_chan; 511 u16 next_chan;
512 u16 assoc_bss_beacon_int; 512 u16 assoc_bss_beacon_int;
513 u16 listen_intvl_t;
513 u8 assoc_bss_dtim_period; 514 u8 assoc_bss_dtim_period;
514 struct net_device_stats net_stats; 515 struct net_device_stats net_stats;
515 struct target_stats target_stats; 516 struct target_stats target_stats;
@@ -569,7 +570,6 @@ struct ath6kl {
569 u8 avail_idx_map; 570 u8 avail_idx_map;
570 spinlock_t lock; 571 spinlock_t lock;
571 struct semaphore sem; 572 struct semaphore sem;
572 u16 listen_intvl_b;
573 u8 lrssi_roam_threshold; 573 u8 lrssi_roam_threshold;
574 struct ath6kl_version version; 574 struct ath6kl_version version;
575 u32 target_type; 575 u32 target_type;
diff --git a/drivers/net/wireless/ath/ath6kl/debug.c b/drivers/net/wireless/ath/ath6kl/debug.c
index 645f923f79b5..56e1cb170299 100755
--- a/drivers/net/wireless/ath/ath6kl/debug.c
+++ b/drivers/net/wireless/ath/ath6kl/debug.c
@@ -1631,12 +1631,12 @@ static ssize_t ath6kl_listen_int_write(struct file *file,
1631 if (kstrtou16(buf, 0, &listen_interval)) 1631 if (kstrtou16(buf, 0, &listen_interval))
1632 return -EINVAL; 1632 return -EINVAL;
1633 1633
1634 if ((listen_interval < 1) || (listen_interval > 50)) 1634 if ((listen_interval < 15) || (listen_interval > 3000))
1635 return -EINVAL; 1635 return -EINVAL;
1636 1636
1637 ar->listen_intvl_b = listen_interval; 1637 vif->listen_intvl_t = listen_interval;
1638 ath6kl_wmi_listeninterval_cmd(ar->wmi, vif->fw_vif_idx, 0, 1638 ath6kl_wmi_listeninterval_cmd(ar->wmi, vif->fw_vif_idx,
1639 ar->listen_intvl_b); 1639 vif->listen_intvl_t, 0);
1640 1640
1641 return count; 1641 return count;
1642} 1642}
@@ -1646,10 +1646,15 @@ static ssize_t ath6kl_listen_int_read(struct file *file,
1646 size_t count, loff_t *ppos) 1646 size_t count, loff_t *ppos)
1647{ 1647{
1648 struct ath6kl *ar = file->private_data; 1648 struct ath6kl *ar = file->private_data;
1649 struct ath6kl_vif *vif;
1649 char buf[32]; 1650 char buf[32];
1650 int len; 1651 int len;
1651 1652
1652 len = scnprintf(buf, sizeof(buf), "%u\n", ar->listen_intvl_b); 1653 vif = ath6kl_vif_first(ar);
1654 if (!vif)
1655 return -EIO;
1656
1657 len = scnprintf(buf, sizeof(buf), "%u\n", vif->listen_intvl_t);
1653 1658
1654 return simple_read_from_buffer(user_buf, count, ppos, buf, len); 1659 return simple_read_from_buffer(user_buf, count, ppos, buf, len);
1655} 1660}
diff --git a/drivers/net/wireless/ath/ath6kl/main.c b/drivers/net/wireless/ath/ath6kl/main.c
index f804cf135a60..bd8388c9db75 100644
--- a/drivers/net/wireless/ath/ath6kl/main.c
+++ b/drivers/net/wireless/ath/ath6kl/main.c
@@ -599,11 +599,9 @@ void ath6kl_connect_event(struct ath6kl_vif *vif, u16 channel, u8 *bssid,
599 memcpy(vif->bssid, bssid, sizeof(vif->bssid)); 599 memcpy(vif->bssid, bssid, sizeof(vif->bssid));
600 vif->bss_ch = channel; 600 vif->bss_ch = channel;
601 601
602 if ((vif->nw_type == INFRA_NETWORK)) { 602 if ((vif->nw_type == INFRA_NETWORK))
603 ar->listen_intvl_b = listen_int;
604 ath6kl_wmi_listeninterval_cmd(ar->wmi, vif->fw_vif_idx, 603 ath6kl_wmi_listeninterval_cmd(ar->wmi, vif->fw_vif_idx,
605 0, ar->listen_intvl_b); 604 vif->listen_intvl_t, 0);
606 }
607 605
608 netif_wake_queue(vif->ndev); 606 netif_wake_queue(vif->ndev);
609 607