diff options
-rw-r--r-- | bl32/tsp/tsp_timer.c | 7 |
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(); } /******************************************************************************* |