aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2013-12-20 11:02:24 -0500
committerJohn W. Linville <linville@tuxdriver.com>2014-01-03 15:36:56 -0500
commitcca213fd6bdfab7badfae3d8ca32b6af96202cb5 (patch)
tree2d2ad86476d1ea364cfcb064ebba2ebab659ac6e
parenta6a172b292a13c44464d9012809f24da41ddbf8a (diff)
ath9k_hw: fix TSF offset calculation
Since the unit is microseconds and not milliseconds, tv_sec needs to be multiplied by 1000000, not 1000. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/ath/ath9k/hw.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index 160be020a031..8e243034b97c 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -1865,7 +1865,7 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
1865 /* Save TSF before chip reset, a cold reset clears it */ 1865 /* Save TSF before chip reset, a cold reset clears it */
1866 tsf = ath9k_hw_gettsf64(ah); 1866 tsf = ath9k_hw_gettsf64(ah);
1867 getrawmonotonic(&ts); 1867 getrawmonotonic(&ts);
1868 usec = ts.tv_sec * 1000 + ts.tv_nsec / 1000; 1868 usec = ts.tv_sec * 1000000ULL + ts.tv_nsec / 1000;
1869 1869
1870 saveLedState = REG_READ(ah, AR_CFG_LED) & 1870 saveLedState = REG_READ(ah, AR_CFG_LED) &
1871 (AR_CFG_LED_ASSOC_CTL | AR_CFG_LED_MODE_SEL | 1871 (AR_CFG_LED_ASSOC_CTL | AR_CFG_LED_MODE_SEL |
@@ -1899,7 +1899,7 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
1899 1899
1900 /* Restore TSF */ 1900 /* Restore TSF */
1901 getrawmonotonic(&ts); 1901 getrawmonotonic(&ts);
1902 usec = ts.tv_sec * 1000 + ts.tv_nsec / 1000 - usec; 1902 usec = ts.tv_sec * 1000000ULL + ts.tv_nsec / 1000 - usec;
1903 ath9k_hw_settsf64(ah, tsf + usec); 1903 ath9k_hw_settsf64(ah, tsf + usec);
1904 1904
1905 if (AR_SREV_9280_20_OR_LATER(ah)) 1905 if (AR_SREV_9280_20_OR_LATER(ah))