From 9f34772a476cba359681f9d3327db6636d5624c5 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sun, 6 Apr 2014 10:41:23 +0000 Subject: mac80211: update to wireless-testing 2014-03-31 Signed-off-by: Felix Fietkau git-svn-id: svn://svn.openwrt.org/openwrt/trunk@40393 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- ...n-filtering-only-after-receiving-a-beacon.patch | 71 ---------------------- 1 file changed, 71 deletions(-) delete mode 100644 package/kernel/mac80211/patches/917-wlcore-enable-beacon-filtering-only-after-receiving-a-beacon.patch (limited to 'package/kernel/mac80211/patches/917-wlcore-enable-beacon-filtering-only-after-receiving-a-beacon.patch') diff --git a/package/kernel/mac80211/patches/917-wlcore-enable-beacon-filtering-only-after-receiving-a-beacon.patch b/package/kernel/mac80211/patches/917-wlcore-enable-beacon-filtering-only-after-receiving-a-beacon.patch deleted file mode 100644 index 5dbad9494e..0000000000 --- a/package/kernel/mac80211/patches/917-wlcore-enable-beacon-filtering-only-after-receiving-a-beacon.patch +++ /dev/null @@ -1,71 +0,0 @@ -Enabling beacon filtering before receving a beacon -might result in not having a beacon at all for the -current connected AP, which prevents the station -from entering power-save. - -Replace the current approach (of starting beacon -filtering on init) and configure beacon filering -only after bss_conf->dtimper is set (which means -mac80211 already parsed a beacon). - -Signed-off-by: Eliad Peller - ---- -drivers/net/wireless/ti/wlcore/acx.c | 3 ++- - drivers/net/wireless/ti/wlcore/init.c | 4 ++-- - drivers/net/wireless/ti/wlcore/main.c | 12 ++++++++++++ - 3 files changed, 16 insertions(+), 3 deletions(-) - ---- a/drivers/net/wireless/ti/wlcore/acx.c -+++ b/drivers/net/wireless/ti/wlcore/acx.c -@@ -358,7 +358,8 @@ int wl1271_acx_beacon_filter_opt(struct - struct acx_beacon_filter_option *beacon_filter = NULL; - int ret = 0; - -- wl1271_debug(DEBUG_ACX, "acx beacon filter opt"); -+ wl1271_debug(DEBUG_ACX, "acx beacon filter opt enable=%d", -+ enable_filter); - - if (enable_filter && - wl->conf.conn.bcn_filt_mode == CONF_BCN_FILT_MODE_DISABLED) ---- a/drivers/net/wireless/ti/wlcore/init.c -+++ b/drivers/net/wireless/ti/wlcore/init.c -@@ -287,8 +287,8 @@ static int wl1271_init_sta_beacon_filter - if (ret < 0) - return ret; - -- /* enable beacon filtering */ -- ret = wl1271_acx_beacon_filter_opt(wl, wlvif, true); -+ /* disable beacon filtering until we get the first beacon */ -+ ret = wl1271_acx_beacon_filter_opt(wl, wlvif, false); - if (ret < 0) - return ret; - ---- a/drivers/net/wireless/ti/wlcore/main.c -+++ b/drivers/net/wireless/ti/wlcore/main.c -@@ -2941,6 +2941,11 @@ static int wlcore_unset_assoc(struct wl1 - ret = wl1271_acx_keep_alive_mode(wl, wlvif, false); - if (ret < 0) - return ret; -+ -+ /* disable beacon filtering */ -+ ret = wl1271_acx_beacon_filter_opt(wl, wlvif, false); -+ if (ret < 0) -+ return ret; - } - - if (test_and_clear_bit(WLVIF_FLAG_CS_PROGRESS, &wlvif->flags)) { -@@ -4345,6 +4350,13 @@ static void wl1271_bss_info_changed_sta( - } - } - -+ if ((changed & BSS_CHANGED_BEACON_INFO) && bss_conf->dtim_period) { -+ /* enable beacon filtering */ -+ ret = wl1271_acx_beacon_filter_opt(wl, wlvif, true); -+ if (ret < 0) -+ goto out; -+ } -+ - ret = wl1271_bss_erp_info_changed(wl, vif, bss_conf, changed); - if (ret < 0) - goto out; -- cgit v1.2.3