diff options
author | Bob Copeland <me@bobcopeland.com> | 2009-07-04 21:03:13 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-07-10 15:02:29 -0400 |
commit | 3355443ad7601991affa5992b0d53870335af765 (patch) | |
tree | 0d953f142b6ee1e67a299861f97460beceffa64e /drivers/net/wireless/ath/ath5k/base.c | |
parent | 0d0cd72fa1e6bfd419c99478ec70b4877ed0ef86 (diff) |
ath5k: write PCU registers on initial reset
"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: stable@kernel.org
Reported-by: Forrest Zhang <forrest@hifulltech.com>
Signed-off-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath5k/base.c')
-rw-r--r-- | 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 3f55e90c43fc..20ba6fa5f1f1 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) | |||
2687 | sc->curchan = chan; | 2687 | sc->curchan = chan; |
2688 | sc->curband = &sc->sbands[chan->band]; | 2688 | sc->curband = &sc->sbands[chan->band]; |
2689 | } | 2689 | } |
2690 | ret = ath5k_hw_reset(ah, sc->opmode, sc->curchan, true); | 2690 | ret = ath5k_hw_reset(ah, sc->opmode, sc->curchan, chan != NULL); |
2691 | if (ret) { | 2691 | if (ret) { |
2692 | ATH5K_ERR(sc, "can't reset hardware (%d)\n", ret); | 2692 | ATH5K_ERR(sc, "can't reset hardware (%d)\n", ret); |
2693 | goto err; | 2693 | goto err; |