diff options
Diffstat (limited to 'package/mac80211/patches/560-ath9k_coverage_class.patch')
-rw-r--r-- | package/mac80211/patches/560-ath9k_coverage_class.patch | 60 |
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 035eabb1fa..0000000000 --- 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, - }; |