diff options
author | Felix Fietkau <nbd@openwrt.org> | 2013-12-20 16:02:24 (GMT) |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2014-01-03 20:36:56 (GMT) |
commit | cca213fd6bdfab7badfae3d8ca32b6af96202cb5 (patch) | |
tree | 2d2ad86476d1ea364cfcb064ebba2ebab659ac6e /drivers | |
parent | a6a172b292a13c44464d9012809f24da41ddbf8a (diff) | |
download | linux-cca213fd6bdfab7badfae3d8ca32b6af96202cb5.tar.xz |
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>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/hw.c | 4 |
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 160be02..8e24303 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, /* Save TSF before chip reset, a cold reset clears it */ tsf = ath9k_hw_gettsf64(ah); getrawmonotonic(&ts); - usec = ts.tv_sec * 1000 + ts.tv_nsec / 1000; + usec = ts.tv_sec * 1000000ULL + ts.tv_nsec / 1000; saveLedState = REG_READ(ah, AR_CFG_LED) & (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, /* Restore TSF */ getrawmonotonic(&ts); - usec = ts.tv_sec * 1000 + ts.tv_nsec / 1000 - usec; + usec = ts.tv_sec * 1000000ULL + ts.tv_nsec / 1000 - usec; ath9k_hw_settsf64(ah, tsf + usec); if (AR_SREV_9280_20_OR_LATER(ah)) |