Index: firmware/App/Modes/ModeFault.c =================================================================== diff -u -rbc4dcf8909e6c3fec54748ebd0cd9068e700061e -r696e732c9742535a58b9c65f243df7cd797d1423 --- firmware/App/Modes/ModeFault.c (.../ModeFault.c) (revision bc4dcf8909e6c3fec54748ebd0cd9068e700061e) +++ firmware/App/Modes/ModeFault.c (.../ModeFault.c) (revision 696e732c9742535a58b9c65f243df7cd797d1423) @@ -82,6 +82,10 @@ } setCPLDCleanLEDColor( CPLD_CLEAN_LED_OFF ); + + // Release RTC in case the RTC semaphore was not released prior to transitioning to fault mode. + // In fault mode, the non-volatile data mgmt POST might be run again so the RTC has to be available. Also, + // the RTC time is read every second which requires the semaphore. releaseSemaphore( SEMAPHORE_RTC ); return faultState;