If start_blk_devices();
is from the tty libraries, you might need to use the process_lock and process_unlock, around
the start_devices, but I am not really sure.
Exerp from console_tty.c:
osenv_process_lock();
start_devices();
osenv_process_unlock();