Wait for writes to finish upon exiting RTC config

This fixes race condition when rtc_get_counter_val() call immediately follows
rtc_set_counter_val().
This commit is contained in:
Tomaz Solc 2012-03-16 10:14:00 +01:00 committed by Piotr Esden-Tempski
parent 0d50b97ed5
commit 5510e1fe3b

View File

@ -99,14 +99,13 @@ void rtc_enter_config_mode(void)
void rtc_exit_config_mode(void)
{
/* u32 reg32; */
u32 reg32;
/* Exit configuration mode. */
RTC_CRL &= ~RTC_CRL_CNF;
/* Wait until the RTOFF bit is 1 (our RTC register write finished). */
/* while ((reg32 = (RTC_CRL & RTC_CRL_RTOFF)) == 0); */
/* TODO: Unnecessary since we poll the bit on config entry(?) */
while ((reg32 = (RTC_CRL & RTC_CRL_RTOFF)) == 0);
}
void rtc_set_alarm_time(u32 alarm_time)