summaryrefslogtreecommitdiffstats
path: root/package/mac80211/patches/560-ath9k_coverage_class.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/mac80211/patches/560-ath9k_coverage_class.patch')
-rw-r--r--package/mac80211/patches/560-ath9k_coverage_class.patch60
1 files changed, 0 insertions, 60 deletions
diff --git a/package/mac80211/patches/560-ath9k_coverage_class.patch b/package/mac80211/patches/560-ath9k_coverage_class.patch
deleted file mode 100644
index 035eabb1f..000000000
--- a/package/mac80211/patches/560-ath9k_coverage_class.patch
+++ /dev/null
@@ -1,60 +0,0 @@
---- a/drivers/net/wireless/ath/ath9k/hw.c
-+++ b/drivers/net/wireless/ath/ath9k/hw.c
-@@ -1211,6 +1211,7 @@ void ath9k_hw_init_global_settings(struc
- {
- struct ieee80211_conf *conf = &ath9k_hw_common(ah)->hw->conf;
- int acktimeout;
-+ int slottime;
- int sifstime;
-
- ath_print(ath9k_hw_common(ah), ATH_DBG_RESET, "ah->misc_mode 0x%x\n",
-@@ -1225,8 +1226,10 @@ void ath9k_hw_init_global_settings(struc
- else
- sifstime = 10;
-
-- acktimeout = ah->slottime + sifstime;
-- ath9k_hw_setslottime(ah, ah->slottime);
-+ /* As defined by IEEE 802.11-2007 17.3.8.6 */
-+ slottime = ah->slottime + 3 * ah->coverage_class;
-+ acktimeout = slottime + sifstime;
-+ ath9k_hw_setslottime(ah, slottime);
- ath9k_hw_set_ack_timeout(ah, acktimeout);
- ath9k_hw_set_cts_timeout(ah, acktimeout);
- if (ah->globaltxtimeout != (u32) -1)
---- a/drivers/net/wireless/ath/ath9k/hw.h
-+++ b/drivers/net/wireless/ath/ath9k/hw.h
-@@ -551,6 +551,7 @@ struct ath_hw {
- u32 *bank6Temp;
-
- int16_t txpower_indexoffset;
-+ int coverage_class;
- u32 beacon_interval;
- u32 slottime;
- u32 globaltxtimeout;
---- a/drivers/net/wireless/ath/ath9k/main.c
-+++ b/drivers/net/wireless/ath/ath9k/main.c
-@@ -2015,6 +2015,18 @@ static void ath9k_sw_scan_complete(struc
- mutex_unlock(&sc->mutex);
- }
-
-+static void ath9k_set_coverage_class(struct ieee80211_hw *hw, u8 coverage_class)
-+{
-+ struct ath_wiphy *aphy = hw->priv;
-+ struct ath_softc *sc = aphy->sc;
-+ struct ath_hw *ah = sc->sc_ah;
-+
-+ mutex_lock(&sc->mutex);
-+ ah->coverage_class = coverage_class;
-+ ath9k_hw_init_global_settings(ah);
-+ mutex_unlock(&sc->mutex);
-+}
-+
- struct ieee80211_ops ath9k_ops = {
- .tx = ath9k_tx,
- .start = ath9k_start,
-@@ -2034,4 +2046,5 @@ struct ieee80211_ops ath9k_ops = {
- .sw_scan_start = ath9k_sw_scan_start,
- .sw_scan_complete = ath9k_sw_scan_complete,
- .rfkill_poll = ath9k_rfkill_poll_state,
-+ .set_coverage_class = ath9k_set_coverage_class,
- };