android_kernel_xiaomi_sdm845/net/mac80211
Johannes Berg d91f36db51 mac80211: implement beacon filtering in software
Regardless of whether the hardware implements beacon filtering,
there's no need to process all beacons in software all the time
throughout the stack (mac80211 does a lot, then cfg80211, then
in the future possibly userspace).

This patch implements the "best possible" beacon filtering in
mac80211. "Best possible" means that it can look for changes in
all requested information elements, and distinguish vendor IEs
by their OUI.

In the future, we will add nl80211 API for userspace to request
information elements and vendor IE OUIs to watch -- drivers can
then implement the best they can do while software implements
it fully.

It is unclear whether or not this actually saves CPU time, but
the data is all in the cache already so it should be fairly
cheap. The additional _testing_, however, has great benefit;
Without this, and on hardware that doesn't implement beacon
filtering, wrong assumptions about, for example, scan result
updates could quickly creep into code.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-04-22 16:57:16 -04:00
..
aes_ccm.c
aes_ccm.h
aes_cmac.c mac80211: 802.11w - Add BIP (AES-128-CMAC) 2009-01-29 16:00:02 -05:00
aes_cmac.h mac80211: 802.11w - Add BIP (AES-128-CMAC) 2009-01-29 16:00:02 -05:00
agg-rx.c mac80211: Tear down aggregation sessions for suspend/resume 2009-03-27 20:12:55 -04:00
agg-tx.c mac80211/iwlwifi: move virtual A-MDPU queue bookkeeping to iwlwifi 2009-03-27 20:13:23 -04:00
cfg.c nl80211: Check iftype in cfg80211 code 2009-03-27 20:13:05 -04:00
cfg.h
debugfs_key.c mac80211: 802.11w - Use BIP (AES-128-CMAC) 2009-01-29 16:00:03 -05:00
debugfs_key.h mac80211: 802.11w - Use BIP (AES-128-CMAC) 2009-01-29 16:00:03 -05:00
debugfs_netdev.c mac80211: split IBSS/managed code 2009-02-27 14:51:42 -05:00
debugfs_netdev.h
debugfs_sta.c mac80211: 802.11w - STA flag for MFP 2009-01-29 16:00:00 -05:00
debugfs_sta.h
debugfs.c mac80211: resume properly, add suspend/resume test 2009-03-27 20:13:03 -04:00
debugfs.h
event.c nl80211: Add Michael MIC failure event 2009-04-22 16:54:28 -04:00
ht.c mac80211: move ieee80211_enable_ht function to mlme.c 2009-04-22 16:54:35 -04:00
ibss.c mac80211: ieee80211_ibss_commit() cleanup 2009-03-27 20:12:41 -04:00
ieee80211_i.h mac80211: implement beacon filtering in software 2009-04-22 16:57:16 -04:00
iface.c mac80211: disable powersave if pm_qos asks for low latency 2009-04-22 16:57:16 -04:00
Kconfig MAC80211: Remove unused MAC80211_VERBOSE_SPECT_MGMT_DEBUG. 2009-04-20 16:36:26 -04:00
key.c mac80211: split IBSS/managed code 2009-02-27 14:51:42 -05:00
key.h mac80211: 802.11w - Use BIP (AES-128-CMAC) 2009-01-29 16:00:03 -05:00
led.c
led.h
main.c mac80211: disable powersave if pm_qos asks for low latency 2009-04-22 16:57:16 -04:00
Makefile mac80211: split IBSS/managed code 2009-02-27 14:51:42 -05:00
mesh_hwmp.c mac80211: fix RX aggregation timeouts 2009-02-13 13:45:32 -05:00
mesh_pathtbl.c
mesh_plink.c wireless: restrict to 32 legacy rates 2009-01-29 16:01:09 -05:00
mesh.c mac80211: use cfg80211s BSS infrastructure 2009-02-13 13:45:58 -05:00
mesh.h mac80211: use cfg80211s BSS infrastructure 2009-02-13 13:45:58 -05:00
michael.c
michael.h
mlme.c mac80211: implement beacon filtering in software 2009-04-22 16:57:16 -04:00
pm.c mac80211: add hardware restart function 2009-04-22 16:57:14 -04:00
rate.c mac80211: rate control status only for controlled packets 2009-03-27 20:13:15 -04:00
rate.h mac80211: rate control status only for controlled packets 2009-03-27 20:13:15 -04:00
rc80211_minstrel_debugfs.c
rc80211_minstrel.c minstrel: fix warning if lowest supported rate index is not 0 2009-01-12 14:24:55 -05:00
rc80211_minstrel.h minstrel: improve performance for non-MRR drivers 2008-10-31 19:00:36 -04:00
rc80211_pid_algo.c mac80211: Fix pid rate-setting algorithm to allow rate changes 2008-11-26 09:47:20 -05:00
rc80211_pid_debugfs.c mac80211/drivers: rewrite the rate control API 2008-10-31 19:00:23 -04:00
rc80211_pid.h mac80211/drivers: rewrite the rate control API 2008-10-31 19:00:23 -04:00
rx.c nl80211: Add Michael MIC failure event 2009-04-22 16:54:28 -04:00
scan.c mac80211: improve powersave implementation 2009-04-22 16:57:15 -04:00
spectmgmt.c mac80211: split IBSS/managed code 2009-02-27 14:51:42 -05:00
sta_info.c mac80211/iwlwifi: move virtual A-MDPU queue bookkeeping to iwlwifi 2009-03-27 20:13:23 -04:00
sta_info.h mac80211/iwlwifi: move virtual A-MDPU queue bookkeeping to iwlwifi 2009-03-27 20:13:23 -04:00
tkip.c
tkip.h
tx.c mac80211/iwlwifi: move virtual A-MDPU queue bookkeeping to iwlwifi 2009-03-27 20:13:23 -04:00
util.c mac80211: implement beacon filtering in software 2009-04-22 16:57:16 -04:00
wep.c mac80211: rewrite fragmentation 2009-03-27 20:13:21 -04:00
wep.h mac80211: minor code cleanups 2008-10-31 18:05:59 -04:00
wext.c mac80211: disable powersave if pm_qos asks for low latency 2009-04-22 16:57:16 -04:00
wme.c mac80211: Fix WMM ACM parsing and AC downgrade operation 2009-03-16 18:09:27 -04:00
wme.h mac80211: fix aggregation for hardware with ampdu queues 2009-02-27 14:51:42 -05:00
wpa.c nl80211: Add Michael MIC failure event 2009-04-22 16:54:28 -04:00
wpa.h mac80211: 802.11w - Add BIP (AES-128-CMAC) 2009-01-29 16:00:02 -05:00