aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/304-ath9k-Enable-multi-channel-properly.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mac80211/patches/304-ath9k-Enable-multi-channel-properly.patch')
-rw-r--r--package/kernel/mac80211/patches/304-ath9k-Enable-multi-channel-properly.patch82
1 files changed, 0 insertions, 82 deletions
diff --git a/package/kernel/mac80211/patches/304-ath9k-Enable-multi-channel-properly.patch b/package/kernel/mac80211/patches/304-ath9k-Enable-multi-channel-properly.patch
deleted file mode 100644
index e743eb8d83..0000000000
--- a/package/kernel/mac80211/patches/304-ath9k-Enable-multi-channel-properly.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From: Sujith Manoharan <c_manoha@qca.qualcomm.com>
-Date: Fri, 17 Oct 2014 07:40:09 +0530
-Subject: [PATCH] ath9k: Enable multi-channel properly
-
-In MCC mode, currently the decision to enable
-the multi-channel state machine is done
-based on the association status if one of
-the interfaces assigned to a context is in
-station mode.
-
-This allows the driver to switch to the other
-context before the current station is able to
-complete the 4-way handshake in case it is
-required and this causes problems.
-
-Instead, enable multi-channel mode when the
-station moves to the authorized state. This
-disallows an early switch to the other channel.
-
-Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
----
-
---- a/drivers/net/wireless/ath/ath9k/ath9k.h
-+++ b/drivers/net/wireless/ath/ath9k/ath9k.h
-@@ -362,7 +362,7 @@ enum ath_chanctx_event {
- ATH_CHANCTX_EVENT_BEACON_SENT,
- ATH_CHANCTX_EVENT_TSF_TIMER,
- ATH_CHANCTX_EVENT_BEACON_RECEIVED,
-- ATH_CHANCTX_EVENT_ASSOC,
-+ ATH_CHANCTX_EVENT_AUTHORIZED,
- ATH_CHANCTX_EVENT_SWITCH,
- ATH_CHANCTX_EVENT_ASSIGN,
- ATH_CHANCTX_EVENT_UNASSIGN,
---- a/drivers/net/wireless/ath/ath9k/channel.c
-+++ b/drivers/net/wireless/ath/ath9k/channel.c
-@@ -171,7 +171,7 @@ static const char *chanctx_event_string(
- case_rtn_string(ATH_CHANCTX_EVENT_BEACON_SENT);
- case_rtn_string(ATH_CHANCTX_EVENT_TSF_TIMER);
- case_rtn_string(ATH_CHANCTX_EVENT_BEACON_RECEIVED);
-- case_rtn_string(ATH_CHANCTX_EVENT_ASSOC);
-+ case_rtn_string(ATH_CHANCTX_EVENT_AUTHORIZED);
- case_rtn_string(ATH_CHANCTX_EVENT_SWITCH);
- case_rtn_string(ATH_CHANCTX_EVENT_ASSIGN);
- case_rtn_string(ATH_CHANCTX_EVENT_UNASSIGN);
-@@ -510,7 +510,7 @@ void ath_chanctx_event(struct ath_softc
-
- ath_chanctx_setup_timer(sc, tsf_time);
- break;
-- case ATH_CHANCTX_EVENT_ASSOC:
-+ case ATH_CHANCTX_EVENT_AUTHORIZED:
- if (sc->sched.state != ATH_CHANCTX_STATE_FORCE_ACTIVE ||
- avp->chanctx != sc->cur_chan)
- break;
---- a/drivers/net/wireless/ath/ath9k/main.c
-+++ b/drivers/net/wireless/ath/ath9k/main.c
-@@ -1569,6 +1569,13 @@ static int ath9k_sta_state(struct ieee80
- "Remove station: %pM\n", sta->addr);
- }
-
-+ if (ath9k_is_chanctx_enabled()) {
-+ if (old_state == IEEE80211_STA_ASSOC &&
-+ new_state == IEEE80211_STA_AUTHORIZED)
-+ ath_chanctx_event(sc, vif,
-+ ATH_CHANCTX_EVENT_AUTHORIZED);
-+ }
-+
- return ret;
- }
-
-@@ -1761,12 +1768,6 @@ static void ath9k_bss_info_changed(struc
- avp->assoc = bss_conf->assoc;
-
- ath9k_calculate_summary_state(sc, avp->chanctx);
--
-- if (ath9k_is_chanctx_enabled()) {
-- if (bss_conf->assoc)
-- ath_chanctx_event(sc, vif,
-- ATH_CHANCTX_EVENT_ASSOC);
-- }
- }
-
- if (changed & BSS_CHANGED_IBSS) {