|
|
|
@ -56,3 +56,25 @@ |
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* This should work for all families including legacy */
|
|
|
|
|
--- a/drivers/net/wireless/ath/ath9k/main.c
|
|
|
|
|
+++ b/drivers/net/wireless/ath/ath9k/main.c
|
|
|
|
|
@@ -1940,7 +1940,9 @@ static u64 ath9k_get_tsf(struct ieee8021
|
|
|
|
|
struct ath_softc *sc = aphy->sc;
|
|
|
|
|
|
|
|
|
|
mutex_lock(&sc->mutex);
|
|
|
|
|
+ ath9k_ps_wakeup(sc);
|
|
|
|
|
tsf = ath9k_hw_gettsf64(sc->sc_ah);
|
|
|
|
|
+ ath9k_ps_restore(sc);
|
|
|
|
|
mutex_unlock(&sc->mutex);
|
|
|
|
|
|
|
|
|
|
return tsf;
|
|
|
|
|
@@ -1952,7 +1954,9 @@ static void ath9k_set_tsf(struct ieee802
|
|
|
|
|
struct ath_softc *sc = aphy->sc;
|
|
|
|
|
|
|
|
|
|
mutex_lock(&sc->mutex);
|
|
|
|
|
+ ath9k_ps_wakeup(sc);
|
|
|
|
|
ath9k_hw_settsf64(sc->sc_ah, tsf);
|
|
|
|
|
+ ath9k_ps_restore(sc);
|
|
|
|
|
mutex_unlock(&sc->mutex);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|