ath9k: fix a chip wakeup related crash in ath9k_start

When the chip is still asleep when ath9k_start is called,
ath9k_hw_configpcipowersave can trigger a data bus error.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Cc: stable@kernel.org
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Felix Fietkau 2011-03-25 17:43:41 +01:00 committed by John W. Linville
parent 4dc217df68
commit f62d816fc4
1 changed files with 4 additions and 0 deletions

View File

@ -1048,6 +1048,8 @@ static int ath9k_start(struct ieee80211_hw *hw)
"Starting driver with initial channel: %d MHz\n", "Starting driver with initial channel: %d MHz\n",
curchan->center_freq); curchan->center_freq);
ath9k_ps_wakeup(sc);
mutex_lock(&sc->mutex); mutex_lock(&sc->mutex);
/* setup initial channel */ /* setup initial channel */
@ -1143,6 +1145,8 @@ static int ath9k_start(struct ieee80211_hw *hw)
mutex_unlock: mutex_unlock:
mutex_unlock(&sc->mutex); mutex_unlock(&sc->mutex);
ath9k_ps_restore(sc);
return r; return r;
} }