forked from Minki/linux
9bf30ff93d
If a station interface is already assigned to a context and is active and a second interface of type AP is added, then beaconing on the new interface has to be begin only after the BSS_CHANGED_BEACON_ENABLED flag is sent by mac80211 to the driver. But, since we issue ATH_CHANCTX_EVENT_ENABLE_MULTICHANNEL as soon as a new channel context is added, a switch occurs almost immediately before BSS_CHANGED_BEACON_ENABLED is received. When a HW reset is done for the new context, beacons are enabled for the interface since "enable_beacon" in the BSS config maintained in mac80211 is true - but the driver hasn't been notified yet. This causes a panic, since the beacon interval is zero for this interface and ath9k_cmn_beacon_config_ap() doesn't have a safety check. Fix this panic by checking if the beacon params has been cached for this context and use the "enable_beacon" flag maintained locally in the driver. Also, recalculate the summary data after the beacon params have been cached when BSS_CHANGED_BEACON_ENABLED is received. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com> |
||
---|---|---|
.. | ||
ath | ||
b43 | ||
b43legacy | ||
brcm80211 | ||
cw1200 | ||
hostap | ||
ipw2x00 | ||
iwlegacy | ||
iwlwifi | ||
libertas | ||
libertas_tf | ||
mwifiex | ||
orinoco | ||
p54 | ||
prism54 | ||
rsi | ||
rt2x00 | ||
rtl818x | ||
rtlwifi | ||
ti | ||
zd1211rw | ||
adm8211.c | ||
adm8211.h | ||
airo_cs.c | ||
airo.c | ||
airo.h | ||
at76c50x-usb.c | ||
at76c50x-usb.h | ||
atmel_cs.c | ||
atmel_pci.c | ||
atmel.c | ||
atmel.h | ||
Kconfig | ||
mac80211_hwsim.c | ||
mac80211_hwsim.h | ||
Makefile | ||
mwl8k.c | ||
ray_cs.c | ||
ray_cs.h | ||
rayctl.h | ||
rndis_wlan.c | ||
wl3501_cs.c | ||
wl3501.h | ||
zd1201.c | ||
zd1201.h |