Bob Copeland wrote:
> Commit d7dc100374df0c21afd8a198336ecd7999697159, "Ath5k: unify resets"
> introduced a regression into 2.6.28 where the PCU registers are never
> initialized, due to ath5k_reset() always passing true for change_channel.
> We subsequently program a lot of these registers but several may start
> in an unknown state.
> 
> Cc: sta...@kernel.org
> Reported-by: Forrest Zhang <forr...@hifulltech.com>
> Signed-off-by: Bob Copeland <m...@bobcopeland.com>
> ---
>  drivers/net/wireless/ath/ath5k/base.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/net/wireless/ath/ath5k/base.c 
> b/drivers/net/wireless/ath/ath5k/base.c
> index 3f55e90..80ae38d 100644
> --- a/drivers/net/wireless/ath/ath5k/base.c
> +++ b/drivers/net/wireless/ath/ath5k/base.c
> @@ -2687,7 +2687,7 @@ ath5k_reset(struct ath5k_softc *sc, struct 
> ieee80211_channel *chan)
>               sc->curchan = chan;
>               sc->curband = &sc->sbands[chan->band];
>       }
> -     ret = ath5k_hw_reset(ah, sc->opmode, sc->curchan, true);
> +     ret = ath5k_hw_reset(ah, sc->opmode, sc->curchan, chan == NULL);
Shouldn't this be chan != NULL? I'd assume that chan is NULL the first
time and change_channel thus should be false to initialize all the
registers.

- Felix
_______________________________________________
ath5k-devel mailing list
ath5k-devel@lists.ath5k.org
https://lists.ath5k.org/mailman/listinfo/ath5k-devel

Reply via email to