ath5k: Disable fast channel switching by default
Nick Kossifidis
maintainerPATCH 1/1 ath5k: Disable fast channel switching by default
Disable fast channel change by default on AR2413/AR5413 due to some bug reports (it still works for me but it's better to be safe). Add a module parameter "fastchanswitch" in case anyone wants to enable it and play with it.
drivers/net/wireless/ath/ath5k/base.c +10 -1
@@ -72,6 +72,11 @@ static int modparam_all_channels;module_param_named (all_channels, modparam_all_channels, bool,S_IRUGO );MODULE_PARM_DESC (all_channels,"Expose all channels the device can use." ); +static int modparam_fastchanswitch; +module_param_named (fastchanswitch, modparam_fastchanswitch, bool,S_IRUGO ); +MODULE_PARM_DESC (fastchanswitch,"Enable fast channel switching for AR2413/AR5413 radios." ); + +/* Module info */ MODULE_AUTHOR ("Jiri Slaby" );MODULE_AUTHOR ("Nick Kossifidis" );
@@ -2686,6 +2691,7 @@ ath5k_reset(struct ath5k_softc *sc, struct ieee80211_channel *chan,struct ath5k_hw *ah = sc->ah;struct ath_common *common =ath5k_hw_common (ah);int ret, ani_mode; +bool fast;ATH5K_DBG (sc,ATH5K_DEBUG_RESET ,"resetting\n" );
@@ -2705,7 +2711,10 @@ ath5k_reset(struct ath5k_softc *sc, struct ieee80211_channel *chan,ath5k_drain_tx_buffs (sc);if (chan) sc->curchan = chan; - ret =ath5k_hw_reset (ah, sc->opmode, sc->curchan, chan !=NULL , + + fast = ((chan !=NULL ) && modparam_fastchanswitch) ?1 :0 ; + + ret =ath5k_hw_reset (ah, sc->opmode, sc->curchan, fast, skip_pcu);if (ret) {ATH5K_ERR (sc,"can't reset hardware (%d)\n" , ret);
drivers/net/wireless/ath/ath5k/reset.c +4 -1
@@ -1124,8 +1124,11 @@ int ath5k_hw_reset(struct ath5k_hw *ah, enum nl80211_iftype op_mode,/* Non fatal, can happen eg. * on mode change */ ret =0 ; - }else + }else { +ATH5K_DBG (ah->ah_sc,ATH5K_DEBUG_RESET , +"fast chan change successful\n" );return 0 ; + } }/*
Quoted 7 lines · Nick Kossifidis
Disable fast channel change by default on AR2413/AR5413 due to some bug reports (it still works for me but it's better to be safe). Add a module parameter "fastchanswitch" in case anyone wants to enable it and play with it.
Signed-off-by Nick Kossifidis <[email protected]>
Already tested your initial patch from [1] against linux-next (next-20110601).
Feel free to add...
- Sedat -
[1] http://www.kernel.org/pub/linux/kernel/people/mickflemm/01-fast-chan-switch-modparm
Quoted 10 lines · Sedat Dilek
Quoted 7 lines · Nick Kossifidis
Disable fast channel change by default on AR2413/AR5413 due to some bug reports (it still works for me but it's better to be safe). Add a module parameter "fastchanswitch" in case anyone wants to enable it and play with it.
Signed-off-by Nick Kossifidis <[email protected]>Already tested your initial patch from [1] against linux-next (next-20110601).
It's also been tested by a number of our users and verified to fix the wireless problems they've been seeing in .38. I'd suggest Cc-ing stable for .38.x and .39.x.
Seth