ath6kl: Retain bg scan period value modified by the user
Added a new member bg_scan_period in struct ath6kl_vif to retain background scan period value configured via debugfs entry 'bgscan_interval'. This backup is needed in schedule scan path while configuring scan parameters. Signed-off-by: Raja Mani <rmani@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
This commit is contained in:
@ -3370,6 +3370,7 @@ struct net_device *ath6kl_interface_add(struct ath6kl *ar, char *name,
|
|||||||
vif->next_mode = nw_type;
|
vif->next_mode = nw_type;
|
||||||
vif->listen_intvl_t = ATH6KL_DEFAULT_LISTEN_INTVAL;
|
vif->listen_intvl_t = ATH6KL_DEFAULT_LISTEN_INTVAL;
|
||||||
vif->bmiss_time_t = ATH6KL_DEFAULT_BMISS_TIME;
|
vif->bmiss_time_t = ATH6KL_DEFAULT_BMISS_TIME;
|
||||||
|
vif->bg_scan_period = 0;
|
||||||
vif->htcap.ht_enable = true;
|
vif->htcap.ht_enable = true;
|
||||||
|
|
||||||
memcpy(ndev->dev_addr, ar->mac_addr, ETH_ALEN);
|
memcpy(ndev->dev_addr, ar->mac_addr, ETH_ALEN);
|
||||||
|
@ -557,6 +557,7 @@ struct ath6kl_vif {
|
|||||||
u16 assoc_bss_beacon_int;
|
u16 assoc_bss_beacon_int;
|
||||||
u16 listen_intvl_t;
|
u16 listen_intvl_t;
|
||||||
u16 bmiss_time_t;
|
u16 bmiss_time_t;
|
||||||
|
u16 bg_scan_period;
|
||||||
u8 assoc_bss_dtim_period;
|
u8 assoc_bss_dtim_period;
|
||||||
struct net_device_stats net_stats;
|
struct net_device_stats net_stats;
|
||||||
struct target_stats target_stats;
|
struct target_stats target_stats;
|
||||||
|
@ -1578,10 +1578,15 @@ static ssize_t ath6kl_bgscan_int_write(struct file *file,
|
|||||||
size_t count, loff_t *ppos)
|
size_t count, loff_t *ppos)
|
||||||
{
|
{
|
||||||
struct ath6kl *ar = file->private_data;
|
struct ath6kl *ar = file->private_data;
|
||||||
|
struct ath6kl_vif *vif;
|
||||||
u16 bgscan_int;
|
u16 bgscan_int;
|
||||||
char buf[32];
|
char buf[32];
|
||||||
ssize_t len;
|
ssize_t len;
|
||||||
|
|
||||||
|
vif = ath6kl_vif_first(ar);
|
||||||
|
if (!vif)
|
||||||
|
return -EIO;
|
||||||
|
|
||||||
len = min(count, sizeof(buf) - 1);
|
len = min(count, sizeof(buf) - 1);
|
||||||
if (copy_from_user(buf, user_buf, len))
|
if (copy_from_user(buf, user_buf, len))
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
@ -1593,6 +1598,8 @@ static ssize_t ath6kl_bgscan_int_write(struct file *file,
|
|||||||
if (bgscan_int == 0)
|
if (bgscan_int == 0)
|
||||||
bgscan_int = 0xffff;
|
bgscan_int = 0xffff;
|
||||||
|
|
||||||
|
vif->bg_scan_period = bgscan_int;
|
||||||
|
|
||||||
ath6kl_wmi_scanparams_cmd(ar->wmi, 0, 0, 0, bgscan_int, 0, 0, 0, 3,
|
ath6kl_wmi_scanparams_cmd(ar->wmi, 0, 0, 0, bgscan_int, 0, 0, 0, 3,
|
||||||
0, 0, 0);
|
0, 0, 0);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user