mac80211: Disable requests for new scans in AP mode
authorJouni Malinen <j@w1.fi>
Wed, 10 Dec 2008 12:51:47 +0000 (14:51 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 12 Dec 2008 19:02:12 +0000 (14:02 -0500)
commitb7a530d82cb36bb43901c196039b0fccee3ffcc3
tree402f4b19586b969cf236eea951e4b4510403e0bc
parent14a4dfe2ff8c353f59ae8324059ded1cfe22c7d9
mac80211: Disable requests for new scans in AP mode

AP mode operations are seriously affected if mac80211 runs through a
multi-second scan while the AP is trying to send Beacon frames on the
operation channel. While this could be implemented in a way that does
not cause too many problems, it is not very simple and will require
synchronization with Beacon frame scheduling in the drivers (scan one
channel at a time between Beacon frames). Furthermore, such scanning
takes quite a bit longer time and existing userspace applications
would be likely to timeout while waiting for the results.

For now, just refuse requests for new scans (SIOCSIWSCAN) when in AP
mode. In practice, this moves the rejection from iwl* drivers into
mac80211 to make it apply to every mac80211-based driver.

This issue shows up in associated stations getting disconnected when
something (e.g., Network Manager) requests a scan while the interface
is in AP mode. When doing this continuously (e.g., NM does it every 120
seconds), the network gets close to useless.

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/iwlwifi/iwl-agn.c
drivers/net/wireless/iwlwifi/iwl3945-base.c
net/mac80211/wext.c