diff options
Diffstat (limited to 'drivers/net/wireless/wl12xx/debugfs.c')
-rw-r--r-- | drivers/net/wireless/wl12xx/debugfs.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/drivers/net/wireless/wl12xx/debugfs.c b/drivers/net/wireless/wl12xx/debugfs.c index 4abff8274ac..d6c2d0c1b6c 100644 --- a/drivers/net/wireless/wl12xx/debugfs.c +++ b/drivers/net/wireless/wl12xx/debugfs.c | |||
@@ -615,19 +615,12 @@ static ssize_t beacon_filtering_write(struct file *file, | |||
615 | size_t count, loff_t *ppos) | 615 | size_t count, loff_t *ppos) |
616 | { | 616 | { |
617 | struct wl1271 *wl = file->private_data; | 617 | struct wl1271 *wl = file->private_data; |
618 | struct ieee80211_vif *vif; | ||
619 | struct wl12xx_vif *wlvif; | 618 | struct wl12xx_vif *wlvif; |
620 | char buf[10]; | 619 | char buf[10]; |
621 | size_t len; | 620 | size_t len; |
622 | unsigned long value; | 621 | unsigned long value; |
623 | int ret; | 622 | int ret; |
624 | 623 | ||
625 | if (!wl->vif) | ||
626 | return -EINVAL; | ||
627 | |||
628 | vif = wl->vif; | ||
629 | wlvif = wl12xx_vif_to_data(vif); | ||
630 | |||
631 | len = min(count, sizeof(buf) - 1); | 624 | len = min(count, sizeof(buf) - 1); |
632 | if (copy_from_user(buf, user_buf, len)) | 625 | if (copy_from_user(buf, user_buf, len)) |
633 | return -EFAULT; | 626 | return -EFAULT; |
@@ -645,7 +638,9 @@ static ssize_t beacon_filtering_write(struct file *file, | |||
645 | if (ret < 0) | 638 | if (ret < 0) |
646 | goto out; | 639 | goto out; |
647 | 640 | ||
648 | ret = wl1271_acx_beacon_filter_opt(wl, wlvif, !!value); | 641 | wl12xx_for_each_wlvif(wl, wlvif) { |
642 | ret = wl1271_acx_beacon_filter_opt(wl, wlvif, !!value); | ||
643 | } | ||
649 | 644 | ||
650 | wl1271_ps_elp_sleep(wl); | 645 | wl1271_ps_elp_sleep(wl); |
651 | out: | 646 | out: |