diff options
Diffstat (limited to 'drivers/net/wireless/ath/ath6kl/debug.c')
-rw-r--r-- | drivers/net/wireless/ath/ath6kl/debug.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath6kl/debug.c b/drivers/net/wireless/ath/ath6kl/debug.c index 1b76aff78508..15cfe30e54fd 100644 --- a/drivers/net/wireless/ath/ath6kl/debug.c +++ b/drivers/net/wireless/ath/ath6kl/debug.c | |||
@@ -401,8 +401,10 @@ static ssize_t ath6kl_fwlog_block_read(struct file *file, | |||
401 | 401 | ||
402 | ret = wait_for_completion_interruptible( | 402 | ret = wait_for_completion_interruptible( |
403 | &ar->debug.fwlog_completion); | 403 | &ar->debug.fwlog_completion); |
404 | if (ret == -ERESTARTSYS) | 404 | if (ret == -ERESTARTSYS) { |
405 | vfree(buf); | ||
405 | return ret; | 406 | return ret; |
407 | } | ||
406 | 408 | ||
407 | spin_lock(&ar->debug.fwlog_queue.lock); | 409 | spin_lock(&ar->debug.fwlog_queue.lock); |
408 | } | 410 | } |
@@ -1570,10 +1572,15 @@ static ssize_t ath6kl_bgscan_int_write(struct file *file, | |||
1570 | size_t count, loff_t *ppos) | 1572 | size_t count, loff_t *ppos) |
1571 | { | 1573 | { |
1572 | struct ath6kl *ar = file->private_data; | 1574 | struct ath6kl *ar = file->private_data; |
1575 | struct ath6kl_vif *vif; | ||
1573 | u16 bgscan_int; | 1576 | u16 bgscan_int; |
1574 | char buf[32]; | 1577 | char buf[32]; |
1575 | ssize_t len; | 1578 | ssize_t len; |
1576 | 1579 | ||
1580 | vif = ath6kl_vif_first(ar); | ||
1581 | if (!vif) | ||
1582 | return -EIO; | ||
1583 | |||
1577 | len = min(count, sizeof(buf) - 1); | 1584 | len = min(count, sizeof(buf) - 1); |
1578 | if (copy_from_user(buf, user_buf, len)) | 1585 | if (copy_from_user(buf, user_buf, len)) |
1579 | return -EFAULT; | 1586 | return -EFAULT; |
@@ -1585,6 +1592,8 @@ static ssize_t ath6kl_bgscan_int_write(struct file *file, | |||
1585 | if (bgscan_int == 0) | 1592 | if (bgscan_int == 0) |
1586 | bgscan_int = 0xffff; | 1593 | bgscan_int = 0xffff; |
1587 | 1594 | ||
1595 | vif->bg_scan_period = bgscan_int; | ||
1596 | |||
1588 | ath6kl_wmi_scanparams_cmd(ar->wmi, 0, 0, 0, bgscan_int, 0, 0, 0, 3, | 1597 | ath6kl_wmi_scanparams_cmd(ar->wmi, 0, 0, 0, bgscan_int, 0, 0, 0, 3, |
1589 | 0, 0, 0); | 1598 | 0, 0, 0); |
1590 | 1599 | ||
@@ -1809,6 +1818,7 @@ int ath6kl_debug_init_fs(struct ath6kl *ar) | |||
1809 | void ath6kl_debug_cleanup(struct ath6kl *ar) | 1818 | void ath6kl_debug_cleanup(struct ath6kl *ar) |
1810 | { | 1819 | { |
1811 | skb_queue_purge(&ar->debug.fwlog_queue); | 1820 | skb_queue_purge(&ar->debug.fwlog_queue); |
1821 | complete(&ar->debug.fwlog_completion); | ||
1812 | kfree(ar->debug.roam_tbl); | 1822 | kfree(ar->debug.roam_tbl); |
1813 | } | 1823 | } |
1814 | 1824 | ||