aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bl32/tsp/tsp_timer.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/bl32/tsp/tsp_timer.c b/bl32/tsp/tsp_timer.c
index 366640f40c..fd4a9c5735 100644
--- a/bl32/tsp/tsp_timer.c
+++ b/bl32/tsp/tsp_timer.c
@@ -68,9 +68,14 @@ void tsp_generic_timer_handler()
/* Ensure that the timer did assert the interrupt */
assert(get_cntp_ctl_istatus(read_cntps_ctl_el1()));
- /* Disable the timer and reprogram it */
+ /*
+ * Disable the timer and reprogram it. The barriers ensure that there is
+ * no reordering of instructions around the reprogramming code.
+ */
+ isb();
write_cntps_ctl_el1(0);
tsp_generic_timer_start();
+ isb();
}
/*******************************************************************************