From: Marc Zyngier <marc.zyng...@arm.com>

Not all errata need to workaround all access types. Allow them to
be optional.

Acked-by: Thomas Gleixner <t...@linutronix.de>
Signed-off-by: Marc Zyngier <marc.zyng...@arm.com>
---
 arch/arm64/include/asm/arch_timer.h | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/include/asm/arch_timer.h 
b/arch/arm64/include/asm/arch_timer.h
index cc1e081..01917b4 100644
--- a/arch/arm64/include/asm/arch_timer.h
+++ b/arch/arm64/include/asm/arch_timer.h
@@ -60,8 +60,9 @@ extern const struct arch_timer_erratum_workaround 
*timer_unstable_counter_workar
 #define arch_timer_reg_read_stable(reg)                \
 ({                                                     \
        u64 _val;                                       \
-       if (needs_unstable_timer_counter_workaround())          \
-               _val = timer_unstable_counter_workaround->read_##reg();\
+       if (needs_unstable_timer_counter_workaround() &&                \
+           timer_unstable_counter_workaround->read_##reg)              \
+               _val = timer_unstable_counter_workaround->read_##reg(); \
        else                                            \
                _val = read_sysreg(reg);                \
        _val;                                           \
-- 
2.7.4

Reply via email to