From 9c61c9efc5119b06c7402345ebb671eea0d65fd2 Mon Sep 17 00:00:00 2001 From: Bruno Randolf Date: Mon, 27 Sep 2010 12:22:32 +0900 Subject: [PATCH] --- yaml --- r: 214887 b: refs/heads/master c: 28df897a42aa41d6318be5b9872c4bb5c8d8d7e3 h: refs/heads/master i: 214885: 1cc4b6883709a0525f50e92f8908b4a1efd10a48 214883: d9962d4a987e7387c26b0518fdbb0451e31cf83d 214879: 49d22c51992c596b678260a786a1bb538e876670 v: v3 --- [refs] | 2 +- trunk/drivers/net/wireless/ath/ath5k/pcu.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 067a072291ae..fa0f8acc57f1 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 11f21df36cbcffbfada9307e809d4372ece27f47 +refs/heads/master: 28df897a42aa41d6318be5b9872c4bb5c8d8d7e3 diff --git a/trunk/drivers/net/wireless/ath/ath5k/pcu.c b/trunk/drivers/net/wireless/ath/ath5k/pcu.c index 604114fb34b1..095d30b50ec7 100644 --- a/trunk/drivers/net/wireless/ath/ath5k/pcu.c +++ b/trunk/drivers/net/wireless/ath/ath5k/pcu.c @@ -495,6 +495,10 @@ u64 ath5k_hw_get_tsf64(struct ath5k_hw *ah) { u32 tsf_lower, tsf_upper1, tsf_upper2; int i; + unsigned long flags; + + /* This code is time critical - we don't want to be interrupted here */ + local_irq_save(flags); /* * While reading TSF upper and then lower part, the clock is still @@ -517,6 +521,8 @@ u64 ath5k_hw_get_tsf64(struct ath5k_hw *ah) tsf_upper1 = tsf_upper2; } + local_irq_restore(flags); + WARN_ON( i == ATH5K_MAX_TSF_READ ); return (((u64)tsf_upper1 << 32) | tsf_lower);