Using a function with a void return value for a g_timeout_add is not a good idea after all.
Verify that the state machine actions are done as we expected, being the main tool for drivers, better to check that is done as we expect.