mirror of
https://github.com/torvalds/linux.git
synced 2024-12-30 06:41:43 +00:00
c5745187a4
The wl12xx device normally drops all frames coming from BSSID it is not joined with. This behavior is configured today by the wl12xx driver in response to a handful of ieee80211_bss_change and ieee80211_conf_changed notification flags, such as BSS_CHANGED_ASSOC, BSS_CHANGED_BSSID, IEEE80211_CONF_CHANGE_IDLE, etc.. This breaks when we roam to a new BSSID, where authentication frames are sent before any BSS_CHANGED/CONF_CHANGED flags are received. When this happens the hardware silently drops the authentication responses, and the roaming fails. Ideally this aggressive filtering behavior of the device should be disabled upon a notification from mac80211. Such notification will take place after multi-channel support will be added: mac80211 will likely send a remain-on-channel notification to drivers when entering sensitive states (like authentication), otherwise the firmware might jump to different channels (to serve a different role). Until those notifications materialize, disable the hw BSSID filter when authentication requests are sent, so roaming would work. Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com> Reviewed-by: Luciano Coelho <coelho@ti.com> Signed-off-by: Luciano Coelho <coelho@ti.com> |
||
---|---|---|
.. | ||
acx.c | ||
acx.h | ||
boot.c | ||
boot.h | ||
cmd.c | ||
cmd.h | ||
conf.h | ||
debugfs.c | ||
debugfs.h | ||
event.c | ||
event.h | ||
ini.h | ||
init.c | ||
init.h | ||
io.c | ||
io.h | ||
Kconfig | ||
main.c | ||
Makefile | ||
ps.c | ||
ps.h | ||
reg.h | ||
rx.c | ||
rx.h | ||
scan.c | ||
scan.h | ||
sdio_test.c | ||
sdio.c | ||
spi.c | ||
testmode.c | ||
testmode.h | ||
tx.c | ||
tx.h | ||
wl12xx_80211.h | ||
wl12xx_platform_data.c | ||
wl12xx.h |