summaryrefslogtreecommitdiff
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,
size_t count, loff_t *ppos)
{
struct wl1271 *wl = file->private_data;
+ struct ieee80211_vif *vif;
+ struct wl12xx_vif *wlvif;
char buf[10];
size_t len;
unsigned long value;
int ret;
+ if (!wl->vif)
+ return -EINVAL;
+
+ vif = wl->vif;
+ wlvif = wl12xx_vif_to_data(vif);
+
len = min(count, sizeof(buf) - 1);
if (copy_from_user(buf, user_buf, len))
return -EFAULT;
@@ -642,7 +650,7 @@ static ssize_t beacon_filtering_write(struct file *file,
if (ret < 0)
goto out;
- ret = wl1271_acx_beacon_filter_opt(wl, !!value);
+ ret = wl1271_acx_beacon_filter_opt(wl, wlvif, !!value);
wl1271_ps_elp_sleep(wl);
out: