aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/init.c
diff options
context:
space:
mode:
authorMohammed Shafi Shajakhan <mshajakhan@atheros.com>2010-12-22 01:50:12 -0500
committerJohn W. Linville <linville@tuxdriver.com>2010-12-22 15:44:22 -0500
commitdb7ec38d8e99f449856c11ffaef363a8eb5af90f (patch)
tree41f0833fff19d7e7127a0cc795cedc9f465f8208 /drivers/net/wireless/ath/ath9k/init.c
parente6d8a817d00793eecd063b1548bbc954ab62b124 (diff)
ath9k: Reset keycache on resume
It looks like some hardware registers are left into undefined state after suspend/resume. At minimum, this can cause odd issues related to key cache and hardware trying to encrypt/decrypt frames unexpectedly. This seems to happen even when there is no keys configured, i.e., hardware can end up touching TX frames just based of invalid key cache context even if the driver is not asking a specific entry to be used. In addition, RX can likely be affected. This patch fixes this issue. Signed-off-by: Jouni Malinen <Jouni.Malinen@Atheros.com> Signed-off-by: Mohammed Shafi Shajakhan <mshajakhan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/init.c')
-rw-r--r--drivers/net/wireless/ath/ath9k/init.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath9k/init.c b/drivers/net/wireless/ath/ath9k/init.c
index 9efc77d82563..efb778d4356a 100644
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -373,7 +373,7 @@ fail:
373#undef DS2PHYS 373#undef DS2PHYS
374} 374}
375 375
376static void ath9k_init_crypto(struct ath_softc *sc) 376void ath9k_init_crypto(struct ath_softc *sc)
377{ 377{
378 struct ath_common *common = ath9k_hw_common(sc->sc_ah); 378 struct ath_common *common = ath9k_hw_common(sc->sc_ah);
379 int i = 0; 379 int i = 0;