Index: apps/main.c =================================================================== --- apps/main.c (revision 13696) +++ apps/main.c (working copy) @@ -305,6 +305,7 @@ } #else +bool init_is_finished = false; static void init(void) { @@ -557,6 +558,7 @@ #if CONFIG_CHARGING car_adapter_mode_init(); #endif + init_is_finished = true; } #ifdef CPU_PP Index: firmware/usb.c =================================================================== --- firmware/usb.c (revision 13696) +++ firmware/usb.c (working copy) @@ -103,6 +103,7 @@ static bool last_usb_status; static bool usb_monitor_enabled; +extern bool init_is_finished; #ifndef BOOTLOADER static void usb_slave_mode(bool on) @@ -176,6 +177,7 @@ } else #endif + if(init_is_finished) { /* Tell all threads that they have to back off the ATA. We subtract one for our own thread. */