summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath5k/reset.c
diff options
context:
space:
mode:
authorLukáš Turek2009-12-21 22:50:51 +0100
committerJohn W. Linville2010-01-12 19:50:08 +0100
commit6e08d228b6d8e93d7b25b3573c6da7da179c2ae1 (patch)
treeb489861f90b416a48f7f46fa4adb23972a5148c3 /drivers/net/wireless/ath/ath5k/reset.c
parentath5k: Reimplement clock rate to usec conversion (diff)
downloadkernel-qcow2-linux-6e08d228b6d8e93d7b25b3573c6da7da179c2ae1.tar.gz
kernel-qcow2-linux-6e08d228b6d8e93d7b25b3573c6da7da179c2ae1.tar.xz
kernel-qcow2-linux-6e08d228b6d8e93d7b25b3573c6da7da179c2ae1.zip
ath5k: Implement mac80211 callback set_coverage_class
The callback sets slot time as specified in IEEE 802.11-2007 section 17.3.8.6 (for 20MHz channels only for now) and raises ACK and CTS timeouts accordingly. The values are persistent, they are restored after device reset. Signed-off-by: Lukas Turek <8an@praha12.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath5k/reset.c')
-rw-r--r--drivers/net/wireless/ath/ath5k/reset.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath5k/reset.c b/drivers/net/wireless/ath/ath5k/reset.c
index 299b33a03979..6690923fd78c 100644
--- a/drivers/net/wireless/ath/ath5k/reset.c
+++ b/drivers/net/wireless/ath/ath5k/reset.c
@@ -1316,6 +1316,10 @@ int ath5k_hw_reset(struct ath5k_hw *ah, enum nl80211_iftype op_mode,
/* Restore antenna mode */
ath5k_hw_set_antenna_mode(ah, ah->ah_ant_mode);
+ /* Restore slot time and ACK timeouts */
+ if (ah->ah_coverage_class > 0)
+ ath5k_hw_set_coverage_class(ah, ah->ah_coverage_class);
+
/*
* Configure QCUs/DCUs
*/