aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/wl12xx/debugfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/wl12xx/debugfs.c')
-rw-r--r--drivers/net/wireless/wl12xx/debugfs.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/net/wireless/wl12xx/debugfs.c b/drivers/net/wireless/wl12xx/debugfs.c
index 8f88ad6496f9..3309fea2e90e 100644
--- a/drivers/net/wireless/wl12xx/debugfs.c
+++ b/drivers/net/wireless/wl12xx/debugfs.c
@@ -620,11 +620,19 @@ static ssize_t beacon_filtering_write(struct file *file,
620 size_t count, loff_t *ppos) 620 size_t count, loff_t *ppos)
621{ 621{
622 struct wl1271 *wl = file->private_data; 622 struct wl1271 *wl = file->private_data;
623 struct ieee80211_vif *vif;
624 struct wl12xx_vif *wlvif;
623 char buf[10]; 625 char buf[10];
624 size_t len; 626 size_t len;
625 unsigned long value; 627 unsigned long value;
626 int ret; 628 int ret;
627 629
630 if (!wl->vif)
631 return -EINVAL;
632
633 vif = wl->vif;
634 wlvif = wl12xx_vif_to_data(vif);
635
628 len = min(count, sizeof(buf) - 1); 636 len = min(count, sizeof(buf) - 1);
629 if (copy_from_user(buf, user_buf, len)) 637 if (copy_from_user(buf, user_buf, len))
630 return -EFAULT; 638 return -EFAULT;
@@ -642,7 +650,7 @@ static ssize_t beacon_filtering_write(struct file *file,
642 if (ret < 0) 650 if (ret < 0)
643 goto out; 651 goto out;
644 652
645 ret = wl1271_acx_beacon_filter_opt(wl, !!value); 653 ret = wl1271_acx_beacon_filter_opt(wl, wlvif, !!value);
646 654
647 wl1271_ps_elp_sleep(wl); 655 wl1271_ps_elp_sleep(wl);
648out: 656out: