openwrtv4/package/kernel/mac80211/patches/920-wlcore-don-t-switch-channels-on-disconnected-STA-vif.patch
Jo-Philipp Wich f5fce5e0da mac80211: skip antenna gain when compiling regdb.txt (#15397)
The antenna gain attribute has been removed from the upstream regulatory database.
Incorperate patch from Luis R. Rodriguez to skip the parsing of the gain attribute
in genregdb.awk in order to emit proper rules again.

Also refresh fuzzy patches while we're at it.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 40296
2014-03-28 16:05:46 +00:00

36 lines
1.2 KiB
Diff

From 4101e8dc540d19f1f6c24930629149191786e4cd Mon Sep 17 00:00:00 2001
From: Arik Nemtsov <arik@wizery.com>
Date: Mon, 9 Sep 2013 16:48:59 +0300
Subject: [PATCH 27/75] wlcore: don't switch channels on disconnected STA vifs
Sending the FW a channel switch command on a disconnected vif may result
in a beacon loss event. Avoid this edge case.
Signed-off-by: Arik Nemtsov <arik@wizery.com>
---
drivers/net/wireless/ti/wlcore/main.c | 7 +++++++
1 file changed, 7 insertions(+)
--- a/drivers/net/wireless/ti/wlcore/main.c
+++ b/drivers/net/wireless/ti/wlcore/main.c
@@ -5179,6 +5179,10 @@ static void wl12xx_op_channel_switch(str
if (unlikely(wl->state == WLCORE_STATE_OFF)) {
wl12xx_for_each_wlvif_sta(wl, wlvif) {
struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif);
+
+ if (!test_bit(WLVIF_FLAG_STA_ASSOCIATED, &wlvif->flags))
+ continue;
+
ieee80211_chswitch_done(vif, false);
}
goto out;
@@ -5194,6 +5198,9 @@ static void wl12xx_op_channel_switch(str
wl12xx_for_each_wlvif_sta(wl, wlvif) {
unsigned long delay_usec;
+ if (!test_bit(WLVIF_FLAG_STA_ASSOCIATED, &wlvif->flags))
+ continue;
+
ret = wl->ops->channel_switch(wl, wlvif, ch_switch);
if (ret)
goto out_sleep;